开发者社区 > ModelScope模型即服务 > 正文

ModelScope中,改为jsonl了,但是报错以下错误,是什么原因?

"ModelScope中,改为jsonl了,但是报错以下错误,是什么原因? :Traceback (most recent call last):
File ""train.py"", line 26, in
output = sft_main(sft_args)
File ""/models/swift/swift/utils/run_utils.py"", line 31, in x_main
result = llm_x(args, kwargs)
File ""/models/swift/swift/llm/sft.py"", line 134, in llm_sft
train_dataset, val_dataset = get_dataset(
File ""/models/swift/swift/llm/utils/dataset.py"", line 1522, in get_dataset
dataset_dict = train_d.train_test_split(
File ""/opt/conda/lib/python3.8/site-packages/datasets/arrow_dataset.py"", line 557, in wrapper
out: Union[""Dataset"", ""DatasetDict""] = func(self, *args,
kwargs)
File ""/opt/conda/lib/python3.8/site-packages/datasets/fingerprint.py"", line 481, in wrapper
out = func(dataset, args, *kwargs)
File ""/opt/conda/lib/python3.8/site-packages/datasets/arrow_dataset.py"", line 4441, in train_test_split
raise ValueError(
ValueError: With n_samples=1, test_size=0.01 and train_size=None, the resulting train set will be empty. Adjust any of the aforementioned parameters."

展开
收起
Lucidly 2024-05-01 10:29:22 8 0
2 条回答
写回答
取消 提交回答
  • 某政企事业单位运维工程师,主要从事系统运维工作,同时兼顾教育行业、企业等src安全漏洞挖掘,曾获全国行业网络安全大赛二等奖。

    这个错误信息说明在尝试分割训练数据集(train_dataset)为训练集和验证集时遇到了问题。具体来说,错误提示指出由于参数配置,导致计算出的训练集样本数量为0,这是不允许的。错误信息的关键部分是:

    ValueError: With n_samples=1, test_size=0.01 and train_size=None, the resulting train set will be empty. Adjust any of the aforementioned parameters.
    

    n_samples=1:这通常不是直接设置的参数,可能是内部计算得到的样本数量,这里显示为1,可能是因为数据读取问题或数据量极小。

    test_size=0.01:你试图将1%的数据作为验证集。

    train_size=None:没有明确指定训练集大小,因此系统会自动计算以满足给定的测试集大小,但在这种情况下,由于总样本数非常少(或计算错误),导致无法分配非零大小的训练集。

    解决这个问题的方法有几种:

    增加数据量:确保你的数据集包含足够多的样本,以便在分配给定比例的验证集后,训练集仍能保留足够的样本用于训练。

    调整test_size:如果你的数据集较小,可以考虑增大test_size的值,比如设置为0.1或更大,以保证训练集有足够的样本。

    显式设置train_size:你可以直接指定训练集的大小,例如设置train_size=0.99,这样系统会根据这个比例来分配训练集和验证集,确保训练集不为空。

    检查数据读取逻辑:确认数据集是否被正确读取且内容无误。如果数据读取过程中有误,可能会导致实际可用的样本数量远小于预期。

    根据你的实际情况,调整上述参数之一或组合调整,应该能够解决训练集为空的问题。

    2024-05-02 12:59:34
    赞同 展开评论 打赏
  • 1*0.01小于1了。此回答整理自钉群“魔搭ModelScope开发者联盟群 ①”

    2024-05-01 16:09:47
    赞同 展开评论 打赏

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

相关电子书

更多
视觉AI能力的开放现状及ModelScope实战 立即下载
ModelScope助力语音AI模型创新与应用 立即下载
低代码开发师(初级)实战教程 立即下载