huggingface下载的.arrow数据集读取与使用说明

简介: huggingface下载的.arrow数据集读取与使用说明

1.数据下载方式:load_dataset

将数据集下载到本地:(此处下载的是一个物体目标检测的数据集

from datasets import load_dataset
# 下载的数据集名称,
model_name = 'keremberke/plane-detection'
# 数据集保存的路径
save_path = 'datasets'
#name参数为full或mini,full表示下载全部数据,mini表示下载部分少量数据
dataset = load_dataset(model_name, name="full")  
dataset.save_to_disk(save_path)

huggingface可以把处理好的数据保存成下面的格式:

下载到本地后的数据结构如下:

2.加载本地的arrow文件:load_from_disk

from datasets import load_from_disk
path = './train' # train:表示上述训练集在本地的路径
dataset = load_from_disk(path)

数据以类似于表格的形式存储,包含以下列名:[‘image_id’, ‘image’, ‘width’, ‘height’, ‘objects’]

image_id: 图片id

image:存储的图像文件,是PIL对象:<PIL.JpegImagePlugin.JpegImageFile image mode=RGB size=1920x1080 at 0x29F8DFAA550>

width:图像宽度

height:图像高度

objects:图像其他相关信息,如标注的标签信息等

3.Arrow文件中结构说明

print(dataset[0])
运行结果如下:
"""
{'image_id': 11, 'image': <PIL.JpegImagePlugin.JpegImageFile image mode=RGB size=1920x1080 at 0x2D70D08C3D0>, 'width': 1920, 'height': 1080, 'objects': {'id': [9], 'area': [36993], 'bbox': [[383.0, 268.0, 209.0, 177.0]], 'category': [0]}}
"""

'objects’中的bbox表示标记框(x1,y1,width,height);category:表示目标类别

显示图片:

img = dataset['image'][0]
plt.imshow(img)
plt.show()

显示标记框的示例代码如下:

# 取第一张图片
img = dataset['image'][0]
# 将PIL--RGB格式图片转化为CV--BGR图片
cv_img = cv2.cvtColor(numpy.asarray(img),cv2.COLOR_RGB2BGR)
box_info = dataset['objects'][0]['bbox'][0]
p1 = [int(box_info[0]),int(box_info[1])]
p2 = [int(box_info[0]+box_info[2]),int(box_info[1]+box_info[3])]
cv2.rectangle(cv_img, p1, p2, (0, 255, 0), 2)
cv2.imshow("img", cv_img)
cv2.waitKey(0)

相关文章
|
4月前
|
自然语言处理 语音技术 Apache
阶跃星辰发布首个开源 LLM 级音频编辑大模型 Step-Audio-EditX
阶跃星辰发布全球首个开源LLM级音频编辑大模型Step-Audio-EditX,支持零样本TTS、多语言方言及情感、风格、副语言特征精准控制,采用统一LLM框架,实现文本驱动音频创作。
834 88
|
存储 Linux 开发工具
告别Hugging Face模型下载难题:掌握高效下载策略,畅享无缝开发体验
【8月更文挑战第2天】告别Hugging Face模型下载难题:掌握高效下载策略,畅享无缝开发体验
5262 64
告别Hugging Face模型下载难题:掌握高效下载策略,畅享无缝开发体验
|
人工智能 自然语言处理 物联网
llama factory 从数据集起步 跑通 qwen系列开源生成式大模型 微调
`dataset_info.json` 文件用于管理 llama factory 中的所有数据集,支持 `alpaca` 和 `sharegpt` 格式。通过配置此文件,可以轻松添加自定义数据集。数据集的相关参数包括数据源地址、数据集格式、样本数量等,支持 Hugging Face 和 ModelScope 两个平台的数据集仓库。针对不同格式的数据集,提供了详细的配置示例,如 `alpaca` 格式的指令监督微调数据集、偏好数据集等,以及 `sharegpt` 格式的多模态数据集等。今天我们通过自定义数据集的方式来进行qwen2.5_14B_instruct模型进行微调
7773 7
|
测试技术 开发工具 Swift
Liger kernel训练加速,一行代码训练吞吐量提高 20%,显存使用量降低 60%
在LLM的训练/微调过程中,开发者通常会遇到一些瓶颈,包括GPU显存不够,经常遇到OOM,GPU使用率100%而且非常慢等。
Liger kernel训练加速,一行代码训练吞吐量提高 20%,显存使用量降低 60%
|
机器学习/深度学习 资源调度 自然语言处理
Transformer中高级位置编码的介绍和比较:Linear Rope、NTK、YaRN、CoPE
在NLP中,位置编码如RoPE、CoPE等增强模型对序列顺序的理解。RoPE通过旋转矩阵编码位置,适应不同距离的相对位置。线性旋转、NTK和YaRN是RoPE的变体,优化长序列处理。CoPE是动态的,根据序列内容调整位置编码,改善长距离依赖的捕捉。这些技术提升了模型在处理复杂语言任务时的性能。
973 5