开发者社区 > 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

展开
收起
kz2l2aij7kiro 2023-07-01 14:09:01 311 1
4 条回答
写回答
取消 提交回答
  • model写成modle了

    2023-09-18 08:04:06
    赞同 展开评论 打赏
  • 根据您提供的信息,如果在使用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的功能和属性。

    2023-07-24 16:48:57
    赞同 1 展开评论 打赏
  • rwkv-4-pile-14b和7b两个模型按照文档在阿里PAI平台都跑不起来,售后弄了大半天说解决不了让换其他模型,浪费我买的GPU服务器,可是按时计费的呀

    2023-07-09 11:05:31
    赞同 展开评论 打赏
  • 北京阿里云ACE会长

    问题可能出在您的配置文件中。错误信息提示ConfigDict对象没有model属性,这表明代码中尝试访问了配置文件中不存在的属性。建议检查您的配置文件,确保其中包含正确的模型配置信息。

    以下是一个示例的配置文件,供您参考:

    yaml Copy model: type: rwkv num_layers: 2 hidden_size: 256 key_size: 32 value_size: 256 dropout: 0.2

    data: train_file: path/to/train.txt valid_file: path/to/valid.txt test_file: path/to/test.txt vocab_file: path/to/vocab.txt batch_size: 32 max_seq_length: 128

    optimizer: type: adam learning_rate: 0.001

    trainer: num_epochs: 10 log_interval: 1000 save_dir: path/to/save/dir 在这个配置文件中,模型相关的信息都包含在model字段中,包括模型类型、层数、隐藏层大小、键/值向量大小等。如果您的配置文件中并没有包含model字段,或者model字段格式不正确,就会出现ConfigDict对象没有model属性的错误。

    2023-07-02 17:07:29
    赞同 展开评论 打赏

ModelScope旨在打造下一代开源的模型即服务共享平台,为泛AI开发者提供灵活、易用、低成本的一站式模型服务产品,让模型应用更简单!欢迎加入技术交流群:微信公众号:魔搭ModelScope社区,钉钉群号:44837352

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载