You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Hugging Face上将数据集转换为Pokemon BLIP格式

转换Diffusion数据集为Pokemon BLIP格式并重新上传至Hugging Face

1. 明确Pokemon BLIP数据集格式

Pokemon BLIP数据集的核心是图文对结构,每条数据仅需两个核心字段:

  • image: 图片的本地存储路径(或加载后的PIL对象)
  • text: 对应图片的文本描述

2. 加载本地数据集

使用datasets库加载已下载好图片的本地数据集:

from datasets import load_dataset

# 加载本地图片数据集(假设图片和标注文件存放在./local_diffusion_data目录)
dataset = load_dataset("imagefolder", data_dir="./local_diffusion_data")
# 若原数据集是从Hugging Face下载到本地缓存,也可直接加载缓存目录
# dataset = load_dataset("your-username/diffusion-dataset", cache_dir="./local_cache")

3. 格式转换处理

遍历原数据集,提取text字段和对应本地图片路径,重组为BLIP格式:

def convert_to_blip_format(example):
    # 根据你的图片存储规则生成本地路径,示例:从原url提取文件名,存放在./images目录
    image_filename = example["url"].split("/")[-1]
    local_image_path = f"./images/{image_filename}"
    return {
        "image": local_image_path,
        "text": example["text"]
    }

# 应用转换函数到全量数据集
blip_dataset = dataset.map(convert_to_blip_format)

# 移除原数据集的冗余字段(按需执行)
blip_dataset = blip_dataset.remove_columns(["url", "其他不需要的字段"])

4. 验证转换结果

检查转换后的数据结构是否符合要求:

print(blip_dataset["train"][0])
# 预期输出示例:{'image': './images/pic_001.jpg', 'text': '一只黄色的猫坐在草地上'}

可随机抽取样本验证图片可正常读取:

from PIL import Image

sample = blip_dataset["train"][0]
img = Image.open(sample["image"])
print(f"图片尺寸:{img.size},对应文本:{sample['text']}")

5. 上传至Hugging Face Hub

先通过命令行登录Hugging Face账号:

huggingface-cli login

再上传转换后的数据集:

# 替换为你的用户名和目标数据集名称
blip_dataset.push_to_hub("your-username/custom-blip-dataset")

6. 验证上传后的数据集

上传完成后,可直接从Hub加载确认:

from datasets import load_dataset

uploaded_dataset = load_dataset("your-username/custom-blip-dataset")
print(uploaded_dataset["train"][0])

内容的提问来源于stack exchange,提问作者mchd

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.14 21:15:18