ModelScope问题之文档部署到阿里云EAS 调用模型报错如何解决

本文涉及的产品
交互式建模 PAI-DSW,5000CU*H 3个月
简介: ModelScope模型报错是指在使用ModelScope平台进行模型训练或部署时遇到的错误和问题;本合集将收集ModelScope模型报错的常见情况和排查方法,帮助用户快速定位问题并采取有效措施。

问题一:我尝试使用魔塔社区的方法训练rwkv模型,但是报错:object 没有'model属性'


我使用的是本地的模型,是在导入模型的时候报错, 具体的报错是:AttributeError: 'ConfigDict' object has no attribute 'model'

以下是代码和configuration文件的代码:

from modelscope.models import Model
from modelscope.trainers import build_trainer
from modelscope.msdatasets import MsDataset
from modelscope.utils.hub import read_config
from modelscope.pipelines import pipeline
# 导入数据集
my_json = './data/osa.json'
ds = MsDataset.load('json',data_files=[my_json])
print(next(iter(ds)))
#导入模型
model_id = Model.from_pretrained('./model')
#p = pipeline('task-oriented-conversation', 'Blink_DL/rwkv-4-pile-1b5')
config=read_config(model_id)
print(config.pretty_text)
#配置参数
def cfg_modify_fn(cfg):
    cfg.task='task-oriented-conversation'
    cfg.num_labels=2
    cfg.train.max_epochs = 5
    cfg.train.work_dir='./new'
    cfg.train.dataloader.batch_size_per_gpu = 32
    cfg.evaluation.dataloader.batch_size_per_gpu = 32
    cfg.train.optimizer.lr = 2e-5
    cfg.train.lr_scheduler.total_iters = int(len(train_dataset) / cfg.train.dataloader.batch_size_per_gpu) * cfg.train.max_epochs
    return cfg
#训练
kwargs=dict(
    model=model_id,
    train_dataset=ds,
    cfg_modify_fn=cfg_modify_fn
)
trainer = build_trainer(default_args=kwargs)
trainer.train()
{
    "framework":"pytorch",
    "task":"task-oriented-conversation",
    "modle":{
        "type":"rwkv-4-pile-1b5",
        "max_length":128
    },
    "train":{
        "work_dir":"./new"
    }
}

使用的模型名称是: RWKV-4-Pile-1B5-20220822-5809.pth


参考回答:

根据您提供的信息,如果在使用ModelScope训练rwkv模型时出现"object没有'model属性'"的错误,这可能是因为在您的代码中尝试访问一个对象的'model'属性,但该对象并没有定义此属性。

请确保您的代码正确设置了ModelScope相关的对象和属性,并且按照正确的顺序进行调用。以下是一个示例,展示如何使用ModelScope训练rwkv模型:

import modelscope_sdk
# 设置API密钥
modelscope_sdk.set_api_key("YOUR_API_KEY")
# 创建ModelScope实例
ms = modelscope_sdk.ModelScope()
# 加载rwkv模型
model = ms.get_model("rwkv", "latest")
# 训练模型
training_data = ...
labels = ...
model.train(training_data, labels)
# 保存模型
model.save("my_trained_rwkv_model")

请注意,上述示例仅展示了一个基本的训练过程,并假设您已经准备好了训练数据和标签。在您的实际代码中,请确保正确处理各种参数、数据加载和预处理等步骤。

如果问题仍然存在,建议检查您的代码中是否有其他地方可能导致该错误的原因。另外,请参考ModelScope SDK的文档和示例代码,以确保正确使用ModelScope的功能和属性。


关于本问题的更多回答可点击原文查看:https://developer.aliyun.com/ask/526290?spm=a2c6h.14164896.0.0.292a508eFf9XKU


问题二:我用本地ModelScope模型再进行训练的时候报错了。用model_id仓库的模型训练成功的本地?


我用本地ModelScope模型再进行训练的时候报错了。。用model_id仓库的模型训练成功的本地模型再训练 提示num_labels不匹配 是读取本地模型不对吗? 是读取路径 还是读取bin文件。Response details: {'Code': 10010205001, 'Message': '获取模型信息失败,信息:record not found', 'RequestId': 'd50bd4e6-7ca6-4d6f-a169-aa6d1f9d2460', 'Success': False}


参考回答:

您遇到报错的原因应该是第一次训练和第二次训练数据使用的 labels 不完全一致,而第一次训练的 id2label,label2id,labels 在训练结束时保存到 configuration.json 中了。解决方法是删除 output/configuration.json 文件中的 model.id2label,model.label2id,model.num_labels,preprocessor.label2id,dataset.train.labels 等相关字段,或是使用 labels 相同的数据集进行继续训练


关于本问题的更多回答可点击原文查看:https://developer.aliyun.com/ask/516765?spm=a2c6h.14164896.0.0.292a508eFf9XKU


问题三:使用SambertHifigan个性化语音合成-中文-预训练-16k报错,完全按照模型介绍中的操作


报错信息如下: 2023-06-08:11:43:32 INFO [se_processor.py:50] [SpeakerEmbeddingProcessor] try load it as se.model Traceback (most recent call last): File "/home/ducheng/anaconda3/envs/modelscope-sambert-py37/lib/python3.7/site-packages/kantts/preprocess/se_processor/se_processor.py", line 41, in process '[SpeakerEmbeddingProcessor] se model loading error!!!') Exception: [SpeakerEmbeddingProcessor] se model loading error!!!

During handling of the above exception, another exception occurred:

Traceback (most recent call last): File "PTTS-basemodel.py", line 33, in trainer.train() File "/home/ducheng/anaconda3/envs/modelscope-sambert-py37/lib/python3.7/site-packages/modelscope/trainers/audio/tts_trainer.py", line 229, in train self.prepare_data() File "/home/ducheng/anaconda3/envs/modelscope-sambert-py37/lib/python3.7/site-packages/modelscope/trainers/audio/tts_trainer.py", line 208, in prepare_data se_model) File "/home/ducheng/anaconda3/envs/modelscope-sambert-py37/lib/python3.7/site-packages/modelscope/preprocessors/tts.py", line 37, in call speaker_name, target_lang, skip_script, se_model) File "/home/ducheng/anaconda3/envs/modelscope-sambert-py37/lib/python3.7/site-packages/modelscope/preprocessors/tts.py", line 57, in do_data_process targetLang, skip_script, se_model) File "/home/ducheng/anaconda3/envs/modelscope-sambert-py37/lib/python3.7/site-packages/kantts/preprocess/data_process.py", line 205, in process_data se_model, File "/home/ducheng/anaconda3/envs/modelscope-sambert-py37/lib/python3.7/site-packages/kantts/preprocess/se_processor/se_processor.py", line 52, in process map_location=device)) File "/home/ducheng/anaconda3/envs/modelscope-sambert-py37/lib/python3.7/site-packages/torch/serialization.py", line 795, in load return _legacy_load(opened_file, map_location, pickle_module, **pickle_load_args) File "/home/ducheng/anaconda3/envs/modelscope-sambert-py37/lib/python3.7/site-packages/torch/serialization.py", line 1002, in _legacy_load magic_number = pickle_module.load(f, **pickle_load_args) _pickle.UnpicklingError: invalid load key, '\x08'.


参考回答:

[SpeakerEmbeddingProcessor] se model loading error!!!”,这表明在加载说话者嵌入模型时出现了错误。

建议您检查一下您的模型文件路径是否正确,并确保您已经下载了正确的模型文件。您可以尝试使用以下代码加载说话者嵌入模型:

python

Copy

from kantts.preprocess.se_processor.se_processor import SpeakerEmbeddingProcessor

se_processor = SpeakerEmbeddingProcessor(model_path="path/to/se/model")

在这个示例中,我们使用 SpeakerEmbeddingProcessor 类加载说话者嵌入模型,并将模型文件路径传递给 model_path 参数。


关于本问题的更多回答可点击原文查看:https://developer.aliyun.com/ask/519057?spm=a2c6h.14164896.0.0.292a508eFf9XKU


问题四:请问按照ModelScope文档部署到阿里云EAS 调用模型报错 不知道是哪一层的问题?


问题1:请问按照ModelScope文档部署 damo/mplug_image-captioning_coco_base_zh到阿里云EAS 调用模型报错 400 OSError(36, 'File name too long') 不知道是哪一层的问题? 问题2:这个日志是EAS上服务日志截取的 是请求返回了400 应该是服务端读入报错的


参考回答:

回答1:这个看起来已经返回了图片内容,data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA7QAAAIVCA,前面data:image/png;base64,去掉,后面的内容写到一个文件,应该就是输出图片 回答2:这个问题是由于这个task类型的输入输出数据没做好适配,我刚刚临时修改了一版,麻烦您把服务配置里的image改成这个: registry-vpc.cn-beijing.aliyuncs.com/modelscope-repo/modelscope:model_deploy-1.3.0_image_captioning


关于本问题的更多回答可点击原文查看:https://developer.aliyun.com/ask/512649?spm=a2c6h.14164896.0.0.6338508ePQwQ9m


问题五:ModelScope不联网的的状态下,按这种方式加载的模型,但是还是报错。是啥原因?


ModelScope不联网的的状态下,按这种方式加载的模型,但是还是报错。是啥原因?

请问 必须联网,才能加载模型吗?


参考回答:

单个独立的模型应该是不需要联网的。如果是复合模型(一个模型pipeline调用了另外一个模型),那有可能本地加载支持的就不是那么完整了。麻烦ls下对应的目录,看下目录的内容


关于本问题的更多回答可点击原文查看:https://developer.aliyun.com/ask/522077?spm=a2c6h.14164896.0.0.6338508ePQwQ9m

目录
相关文章
|
6天前
|
自然语言处理
在ModelScope中,你可以通过设置模型的参数来控制输出的阈值
在ModelScope中,你可以通过设置模型的参数来控制输出的阈值
19 1
|
4天前
|
SQL 存储 调度
从 Volcano 火山模型到 Pipeline 执行模型,阿里云数据库 SelectDB 内核 Apache Doris 执行模型的迭代
一个合适的执行模型对于提高查询效率和系统性能至关重要。本文全面剖析 Apache Doris Pipeline 执行模型的设计与改造历程,并在 2.1 版本对并发执行模式与调度模式进一步优化,解决了执行并发受限、执行及调度开销大等问题。
从 Volcano 火山模型到 Pipeline 执行模型,阿里云数据库 SelectDB 内核 Apache Doris 执行模型的迭代
|
6天前
|
监控 Serverless API
阿里云函数计算的工作原理与事件驱动模型密切相关
【4月更文挑战第17天】阿里云函数计算的工作原理与事件驱动模型密切相关
73 4
|
6天前
|
机器学习/深度学习 人工智能 安全
AI战略丨阿里云百炼再升级:模型、工具、AI能力,快速接入、应有尽有
阿里云百炼持续加码模型服务,基于丰富的底层计算能力与通义系列模型的最佳实践,构建训练评测、标注、部署全生命周期模型工具,帮助企业、开发者在云上一站式调用、优化大模型,成为大模型时代的商业化基础设施。
|
6天前
|
机器学习/深度学习 测试技术 TensorFlow
ModelScope模型使用与EAS部署调用
本文以魔搭数据的模型为例,演示在DSW实例中如何快速调用模型,然后通过Python SDK将模型部署到阿里云PAI EAS服务,并演示使用EAS SDK实现对服务的快速调用,重点针对官方关于EAS模型上线后示例代码无法正常调通部分进行了补充。
|
6天前
|
机器学习/深度学习 编解码 人工智能
阿里云百炼的模型怎么选择并体验
本模块为您提供大模型服务平台百炼中支持的模型类型,便于您快速根据自己的需求选择所需模型!
|
6天前
|
人工智能 自然语言处理 测试技术
“送云资源、用大模型” 阿里云启动云工开物“高校训练营”计划
“送云资源、用大模型” 阿里云启动云工开物“高校训练营”计划
40 1
|
6天前
|
云安全 人工智能 定位技术
交通运输部公路科学研究院携手阿里云共建交通行业大模型
交通运输部公路科学研究院携手阿里云共建交通行业大模型
37 0
|
6天前
|
API 语音技术
ModelScope-FunASR**有支持热词又支持时间戳的模型**。
【2月更文挑战第30天】ModelScope-FunASR**有支持热词又支持时间戳的模型**。
37 2
|
6天前
|
人工智能 API 决策智能
Modelscope结合α-UMi:基于Modelscope的多模型协作Agent
基于单个开源小模型的工具调用Agent,由于模型容量和预训练能力获取的限制,无法在推理和规划、工具调用、回复生成等任务上同时获得比肩大模型等性能。