在训练数据时,报错:AttributeError: 'MsMapDataset' object has no attribute 'mode 这是什么原因?
不知道你注意没有报错的时候说的是这个MsMapDataset对象没有mode属性,我在直接赋值以及setattr之后还是会出现同一个问题,但是文档中给的示例就能正常运行,于是我查看了示例对象的mode属性打算看一下是什么发现 我超,示例也没有这个属性,但是他能正常运行,但是细心的我发现了一个问题 示例中的数据读取之后并不是MsMapDataset而是Dataset,不是同一个对象,于是我在读取本地数据之后做了这个处理
于是这个bug解掉了,由于又报了别的bug我就没去仔细研究原理,希望对你有帮助
本地的数据集可否先转成 csv格式,然后按照如下方式加载:
ds = MsDataset.load('csv', data_files={'train': '/to/path/train.csv', 'dev': '/to/path/dev.csv'})
train_dataset = ds['train'] eval_dataset = ds['dev']
... (这里视情况看是否remap_columns,然后按照官方readme给的示例走下去即可)
如果你本地是.json文件的话,我试了一下使用MsDataset.load()加载效率不如csv高,可以使用pandas转一下: import pandas as pd
pd_json = pd.read_json('/to/path/xxx.json') pd_json.to_csv('/to/path/your_csv.csv'),此回答整理自钉群“魔搭ModelScope开发者联盟群 ①”