从hugging face下载数据集,将.parquet类型数据中提取图片和标签

本文介绍了如何从HuggingFace下载Pokeman图像文本对数据集,并使用Python处理.parquet格式数据,将其拆分为图片和文本文件,以便用于训练StableDiffusion模型。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

时间:2024.1.19

1.hugging face数据集下载地址

https://huggingface.co/datasets?sort=downloads

2.下载.paraquet类型数据

(1)这里以图像文本对数据集pokeman为例。先点击下图中左侧的text-to-image,再点击pokeman-blip-captions。
在这里插入图片描述
(2)再点击下图中的File and version,再点击下载按钮。
在这里插入图片描述

3.打印.parquet类型数据

import pandas as pd
pokeman = pd.read_parquet('/root/train-00000-of-00001-566cc9b19d7203f8.parquet')
print(pokeman)

.parquet类型数据如下:
在这里插入图片描述
可以看到有833条数据,每一个数据都包含1张图片和1条文本。

4将.parquet类型数据中提取图片和标签

注意:代码中的路径要根据实际路径进行修改!!

import pandas as pd
import cv2
import numpy as np

pokeman = pd.read_parquet('/root/train-00000-of-00001-566cc9b19d7203f8.parquet')
print(pokeman)
path_prefix = '/root/pokeman/'
print('Processing images : ')
for index, img in enumerate(pokeman['image']):
    image_bytes = img['bytes']
    # 将bytes数据转换为numpy矩阵
    image_np = cv2.imdecode(np.frombuffer(image_bytes, dtype=np.uint8), cv2.IMREAD_COLOR)
    # 将numpy矩阵保存为jpg格式的图片文件
    cv2.imwrite(path_prefix + f"/image/{index}.jpg", image_np)
print('finish')

print('Processing text : ')
for index, text in enumerate(pokeman['text']):
    with open(path_prefix + f'/text/{index}.txt', 'w') as f:
        f.write(text)
print('finish')

5.任务

这个pokeman是一个图像文本对数据集,听说能训练stable diffusion,后续试一试。

### Hugging Face 数据集与模型兼容性 Hugging Face 平台设计之初就考虑到了不同组件之间的互操作性灵活性。数据集模型之间具有高度的兼容性,这使得用户可以轻松地将各种预训练模型应用于不同的数据集上。 #### 数据集加载与处理 对于特定的数据集如Fashion MNIST,在使用前需先通过`datasets`库完成加载工作[^3]: ```python from datasets import load_dataset dataset = load_dataset('fashion_mnist') ``` 此过程会自动识别并解析Parquet格式文件,简化了前期准备工作。 #### 嵌入模型的应用实例 一旦拥有了所需的数据集之后,则可以根据具体需求选取合适的嵌入模型来执行特征提取任务。例如采用BERT基础无大小写版本(`bert-base-uncased`)作为文本编码器[^1]: ```python from langchain_huggingface import HuggingFaceEmbeddings embedding_model = HuggingFaceEmbeddings(model_name="bert-base-uncased") embeddings = embedding_model("This is a test sentence for embedding.") print(embeddings) ``` 需要注意的是,上述例子适用于文本类型的输入;而对于图像或其他非结构化形式的数据,则应选择相应的专用架构,比如ResNet系列用于图片分类等问题。 #### 多样化的模型支持 除了传统的自然语言处理领域外,Transformers库还涵盖了广泛的其他应用场景,包括但不限于计算机视觉、语音信号分析等跨学科方向[^4]。这意味着即使面对不同类型的任务或数据源时也能找到适配良好的解决方案。 综上所述,只要遵循官方文档指导以及合理搭配相应资源,就能实现高效便捷的操作体验,并充分发挥两者间的协同效应。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值