你好老师,ModelScope load数据那块还是没看懂,数据格式有很多种,但是呢,比如我微调这?

你好老师,ModelScope load数据那块还是没看懂,数据格式有很多种,但是呢,比如我微调这条数据,{image:url 链接或者base64,text:"图片描述"}, 数据类型这种嘛 train.tsv 字段有 id,base64 对应数据 12,base64 train.json {"text_id": 8428, "text": "高级感托特包斜挎", "image_ids": [12]} MsDataset.load() 我怎么加载这个适配呢?b6df9bcfd4e3c5475b1273914b75d0e1.png

展开
收起
真的很搞笑 2023-06-18 16:54:18 397 分享 版权
2 条回答
写回答
取消 提交回答
  • 北京阿里云ACE会长

    如果你想使用ModelScope来加载你的微调数据,可以按照以下步骤进行:

    将你的微调数据转换成符合ModelScope的数据格式。根据你提供的信息,你的微调数据应该是一个包含图片URL或者base64编码和图片描述的字典,比如{image: url或base64编码, text: '图片描述'}。你需要将这个字典转换成符合ModelScope数据格式的JSON格式,比如{"text_id": 8428, "text": "图片描述", "image_ids": [1]},其中text_id是图片描述的id,text是图片描述的文本,image_ids是一个包含图片id的列表,这里只有一个图片id,即1。

    将转换后的数据保存到train.tsv或train.json文件中,具体格式和字段根据你的需求而定。

    使用MsDataset类的load方法加载数据。这个方法有两个参数,data_dir是数据所在的目录,data_type是数据类型,可以是"tsv"或"json",具体取决于你保存数据的文件格式。例如:

    Copy
    from modelscope.datasets import MsDataset

    data_dir = "/path/to/data"
    data_type = "json" # 或者 "tsv"

    dataset = MsDataset.load(data_dir=data_dir, data_type=data_type)

    2023-07-19 16:26:59
    赞同 展开评论
  • 可以使用 huggingface dataset 的 map 方法在训练前将您的数据处理成模型接受输入的格式,再转换成 MsDataset 输入模型 类似以下的代码,您可以自定义具体数据的处理逻辑: def update_item(example: dict): # 您的数据处理逻辑 example['idx'] = example['idx'] + 10 return example

    ds = MsDataset.load(...) ds.ds_instance.map(update_item) MsDataset.load()得到的dataset对象支持map()操作,具体处理方式示例:

    def map_func(example): example['res'] = 'xxx' return example

    ds = MsDataset.load('csv', data_files=['/path/to/xxx.csv', '/path/to/yyy.csv'], split='train') ds_new = ds.ds_instance.map(map_func) for item in ds_new: print(item)

    比如你需要对每条数据中的某个字段,做自定义的修改,比如格式转换等操作,就放到 map_func()里即可。,此回答整理自钉群“魔搭ModelScope开发者联盟群 ①”

    2023-06-18 17:30:06
    赞同 1 展开评论

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

还有其他疑问?
咨询AI助理