ValueError: --caption_column‘ value ‘text‘ needs to be one of: image

使用diffusers在自己的数据集上进行训练报错,刚开始以为是自己的数据集格式不对,尝试了hugging face(datasets-image_load)中的各种数据格式都不行,网上搜索一圈,也没找到好的解决办法,最后死马当做活马医,尝试降低datasets版本(2.14.5=> 2.13.0),竟然凑效了。。。版本不兼容是真的难顶:(,很不容易debug,即便debug也没啥教育意义。。。希望给大家避坑

出现这个 `ValueError` 错误,通常是在使用 LoRa(Long Range)技术进行某种机器学习模型训练,比如图像描述生成任务(captioning),`caption_column` 配置错误地指定了文本数据字段为 "text",然而它期望的是与图像相关的列名,如 "image" 或者 "filename"。 解决这个问题需要检查以下几个步骤: 1. **确认数据结构**:确保你的训练数据集结构与模型预期相符。`caption_column` 应该是指向包含图像描述或标题的列,而非直接的文字内容。 2. **修改配置**:在配置文件或函数调用中,找到 `caption_column` 的设置部分,将其更正为实际的图像描述列名,例如 `"image_descriptions"` 或 `"caption"`。 3. **加载数据**:使用正确的函数或库读取数据,并指定对应的列作为描述列。例如,在某些框架中可能是 `ImageDataGenerator` 中的 `flow_from_directory()` 或 `load_data()`。 4. **验证列是否存在**:在开始训练之前,检查数据集中是否有正确的列存在,如果有误,需要调整数据预处理步骤。 ```python # 示例代码(假设数据集有'image_path'和'image_caption'两列) train_datagen = ImageDataGenerator(rescale=1./255) train_generator = train_datagen.flow_from_directory( train_dir, target_size=(img_height, img_width), batch_size=batch_size, class_mode=None, shuffle=True, # 将caption_column改为image_caption caption_column='image_caption' ) ``` 如果上述步骤都没问题,还是报错,那可能是数据预处理、编码或其他环境设置的问题,需要查看具体的API文档或报错堆栈信息以进一步排查。
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值