OFA-Sys / Chinese-CLIP

Chinese version of CLIP which achieves Chinese cross-modal retrieval and representation generation.
MIT License
4.5k stars 464 forks source link

关于准备训练集 #135

Closed Duyz232 closed 1 year ago

Duyz232 commented 1 year ago

hi 在处理自己准备的数据集时候遇到问题如下: 9Y02 $BG$K5X8_GA4GX328D 这种问题我该如何应对呢? 以下是我具体的tsv以及jsonl文件 _L~(UZ$) T @~B(A5PZS{X7 F M6%3`23N5_EZAH@5hi
在处理自己准备的数据集时候遇到问题如下:
![9Y02 $BG$K5X8_GA4GX328D](https://github.com/OFA-Sys/Chinese-CLIP/assets/110820271/95f628ee-90b8-45f4-ac54-0a24dffdcb66)
这种问题我该如何应对呢?
以下是我具体的tsv以及jsonl文件
![_L~(UZ$) T @~B(A5PZS{X7](https://github.com/OFA-Sys/Chinese-CLIP/assets/110820271/c068e6e3-4b40-4592-82a2-65ffb9add3d0)
LI1

DtYXs commented 1 year ago

您好,初步判断可能是您的tsv文件有问题。您可以使用Python库jsonlines中的相关函数进行得到tsv数据,每行是一行json。请问您是如何生成的自己数据集的tsv文件呢?根据您提供的tsv文件内容看,您可以再检查一下其是否为json格式,其中不应该包含中文的冒号“:”等字符。

Duyz232 commented 1 year ago

您好!非常感谢您的回复!确实是我的tsv文件格式有问题,不知您是否方便提供把一张图转成tsv数据的正确方法呢

DtYXs commented 1 year ago

您好,之前回答笔误了一下,判断可能是您的jsonl文件有问题,您可以尝试使用jsonlines库来重新写入jsonl文件再尝试一下,比如写入一行json数据的示例:

import jsonlines

with jsonlines.open('output.jsonl', mode='a') as f:
    json_data = {"key": "value"}  # 替换成需要写入的JSON数据
    f.write(json_data)

对于tsv文件,您可以按照数据集格式预处理部分介绍的方法将图片原始文件转换为base64,进而写入tsv。

Duyz232 commented 1 year ago

非常感谢您的回复!