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

本文涉及的产品
模型训练 PAI-DLC,5000CU*H 3个月
模型在线服务 PAI-EAS,A10/V100等 500元 1个月
交互式建模 PAI-DSW,每月250计算时 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模型报错是指在使用ModelScope平台进行模型训练或部署时遇到的错误和问题;本合集将收集ModelScope模型报错的常见情况和排查方法,帮助用户快速定位问题并采取有效措施。
801 3
|
19天前
|
自然语言处理 监控 API
"阿里云ModelScope深度测评:从预训练模型到一键部署,揭秘高效模型开发背后的秘密,开发者必备利器!"
【10月更文挑战第23天】阿里云ModelScope是一款便捷的模型开发、训练、部署和应用平台。它提供丰富的预训练模型,涵盖自然语言处理、计算机视觉等领域,支持一键式模型训练和部署,具备模型版本管理和监控功能,显著降低开发门槛,提高模型应用效率。
43 0
|
5月前
|
网络安全 Docker 容器
modelscope-funasr部署后,但是无法通过html链接,是为什么呀?
在虚拟机上成功部署了Docker化的modelscope-funasr服务,日志显示初始化正常。防火墙已关闭,但尝试通过HTML页面访问时连接失败。
|
6月前
|
机器学习/深度学习 测试技术 TensorFlow
ModelScope模型使用与EAS部署调用
本文以魔搭数据的模型为例,演示在DSW实例中如何快速调用模型,然后通过Python SDK将模型部署到阿里云PAI EAS服务,并演示使用EAS SDK实现对服务的快速调用,重点针对官方关于EAS模型上线后示例代码无法正常调通部分进行了补充。
228 2
|
6月前
|
并行计算 计算机视觉 异构计算
ModelScope问题之官方模型demo运行时候报错如何解决
ModelScope模型报错是指在使用ModelScope平台进行模型训练或部署时遇到的错误和问题;本合集将收集ModelScope模型报错的常见情况和排查方法,帮助用户快速定位问题并采取有效措施。
198 3
|
6月前
|
自然语言处理
在ModelScope中,你可以通过设置模型的参数来控制输出的阈值
在ModelScope中,你可以通过设置模型的参数来控制输出的阈值
158 1
|
6月前
|
API 语音技术
ModelScope-FunASR**有支持热词又支持时间戳的模型**。
【2月更文挑战第30天】ModelScope-FunASR**有支持热词又支持时间戳的模型**。
212 2
|
6月前
|
人工智能 API 决策智能
Modelscope结合α-UMi:基于Modelscope的多模型协作Agent
基于单个开源小模型的工具调用Agent,由于模型容量和预训练能力获取的限制,无法在推理和规划、工具调用、回复生成等任务上同时获得比肩大模型等性能。
|
6月前
|
数据采集 自然语言处理 搜索推荐
ModelScope问题之模型encoder配置报错如何解决
ModelScope模型报错是指在使用ModelScope平台进行模型训练或部署时遇到的错误和问题;本合集将收集ModelScope模型报错的常见情况和排查方法,帮助用户快速定位问题并采取有效措施。
235 0
|
6月前
|
人工智能 达摩院 自然语言处理
超好用的开源模型平台,ModelScope阿里达摩院
超好用的开源模型平台,ModelScope阿里达摩院
462 1

热门文章

最新文章