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

目录
相关文章
|
3天前
|
Java 应用服务中间件 Linux
在阿里云服务器上部署Tomcat详细图文详解
本文介绍了在阿里云服务器上安装和配置JDK和Tomcat的步骤。首先,需要注册阿里云账号并进行实名认证,然后购买并设置服务器。接着,通过File Zilla连接服务器,创建Java和Tomcat的安装目录,并将JDK和Tomcat的tar.gz文件上传到服务器,解压并重命名。之后,配置JDK的环境变量,将catalina.sh复制到/etc/init.d/目录下,并修改相关配置。最后,启动Tomcat并配置安全组规则,确保可以通过公网访问。
|
3天前
|
弹性计算 Java Linux
阿里云服务器搭建部署宝塔详细流程
该内容是一个阿里云服务器和域名的配置指南。首先,需注册阿里云账号并进行企业实名认证。接着,选购服务器如2核2G1兆的Linux系统,并购买域名。完成域名备案后,进行域名解析和ICP备案。然后,通过远程连接登录服务器,重置密码,安装宝塔面板。在安全组中开启宝塔面板随机生成的端口。最后,登录宝塔面板安装LNMP环境,配置数据库如MySQL和Redis,部署JDK、Tomcat,上传前端和后端项目以实现上线。
|
4天前
|
弹性计算 JavaScript Java
阿里云服务器搭建部署宝塔详细流程
以下是内容的摘要: 本文主要介绍了在阿里云上创建和配置服务器环境的步骤,包括注册阿里云账号、实名认证、购买和设置服务器、域名的获取与备案、以及使用宝塔面板安装和配置环境。首先,用户需要注册阿里云账号并进行实名认证,选择合适的服务器配置。接着,购买服务器后,要准备并备案域名,以便通过友好的网址访问网站。在服务器上安装宝塔面板,可以方便地管理和配置LAMP/LNMP/Tomcat/Node.js等应用环境。完成这些步骤后,用户还需要在宝塔面板中安装MySQL、Redis等数据库,部署Java或Vue项目,并配置相关端口。最后,将前端项目打包上传至服务器,并设置站点,即可实现网站的上线。
|
4天前
|
应用服务中间件 Linux 开发工具
如何在阿里云服务器快速搭建部署Nginx环境
以下是内容的摘要: 本文档主要介绍了在阿里云上购买和配置服务器的步骤,包括注册阿里云账号、实名认证、选择和购买云服务器、配置安全组、使用Xshell和Xftp进行远程连接和文件传输,以及安装和配置Nginx服务器的过程。在完成这些步骤后,你将能够在服务器上部署和运行自己的网站或应用。
|
27天前
|
Ubuntu JavaScript 关系型数据库
在阿里云Ubuntu 20.04服务器中搭建一个 Ghost 博客
在阿里云Ubuntu 20.04服务器上部署Ghost博客的步骤包括创建新用户、安装Nginx、MySQL和Node.js 18.x。首先,通过`adduser`命令创建非root用户,然后安装Nginx和MySQL。接着,设置Node.js环境,下载Nodesource GPG密钥并安装Node.js 18.x。之后,使用`npm`安装Ghost-CLI,创建Ghost安装目录并进行安装。配置过程中需提供博客URL、数据库连接信息等。最后,测试访问前台首页和后台管理页面。确保DNS设置正确,并根据提示完成Ghost博客的配置。
在阿里云Ubuntu 20.04服务器中搭建一个 Ghost 博客
|
1月前
|
存储 分布式计算 网络协议
阿里云服务器内存型r7、r8a、r8y实例区别参考
在阿里云目前的活动中,属于内存型实例规格的云服务器有内存型r7、内存型r8a、内存型r8y这几个实例规格,相比于活动内的经济型e、通用算力型u1实例来说,这些实例规格等性能更强,与计算型和通用型相比,它的内存更大,因此这些内存型实例规格主要适用于数据库、中间件和数据分析与挖掘,Hadoop、Spark集群等场景,本文为大家介绍内存型r7、r8a、r8y实例区别及最新活动价格,以供参考。
阿里云服务器内存型r7、r8a、r8y实例区别参考
|
1月前
|
SQL 弹性计算 安全
购买阿里云活动内云服务器之后设置密码、安全组、增加带宽、挂载云盘教程
当我们通过阿里云的活动购买完云服务器之后,并不是立马就能使用了,还需要我们设置云服务器密码,配置安全组等基本操作之后才能使用,有的用户还需要购买并挂载数据盘到云服务器上,很多新手用户由于是初次使用阿里云服务器,因此并不知道这些设置的操作流程,下面给大家介绍下这些设置的具体操作流程。
购买阿里云活动内云服务器之后设置密码、安全组、增加带宽、挂载云盘教程
|
1月前
|
弹性计算
阿里云3M带宽云服务器并发多大?阿里云3M带宽云服务器测评参考
在探讨云服务器3M带宽能支持多大并发这一问题时,我们首先要明白一个关键点:并发量并非仅由带宽决定,还与网站本身的大小密切相关。一般来说,一个优化良好的普通网站页面大小可能只有几K,为便于计算,我们可以暂且假定每个页面大小为50K。
813 1
|
9天前
|
弹性计算 应用服务中间件 Linux
阿里云ECS服务器上从零开始搭建nginx服务器
阿里云ECS服务器上从零开始搭建nginx服务器
|
9天前
|
域名解析 网络协议 应用服务中间件
阿里云服务器配置免费https服务
阿里云服务器配置免费https服务