报错信息
在微调微软的Florence-2模型的时候加载本地数据集报错。
解决方案
如果你的数据集是分开的,也就是训练集和验证集是两个json文件,就如下所示,如果不是,请往下翻,有不分开的加载介绍。
可以看到他的源码种是传入了一个字符串(“train”,另一个又通过“validation”来映射)来进行映射,所以你的data加载的时候需要用map来构造映射,如下所示:
以上这种方法,是train数据和validation数据分开的时候的写法,也就是根据这两个字符串去映射各自的文件(记住必须是这两个字符串,不支持自定义,因为他在源码中写死了,train这个字符串只能索引train的数据集文件)。
下面说一下如果你的数据集不是分开的而是在一个json里面该怎么做。
首先你的数据集格式得是这样:
每个字符串后面是一个字典列表也就是你真正得数据集,必须是这三个字符串,他写死了,就是找这三个字符串来分割数据。然后在loaddataset这里,也不需要map,毕竟就一个文件,直接给路径就行了。如下所示。
相关原理
map键值对映射