PyTorch的dataloader制作自定义数据集

PyTorch的dataloader是用于读取训练数据的工具,它可以自动将数据分割成小batch,并在训练过程中进行数据预处理。以下是制作PyTorch的dataloader的简单步骤:

  1. 导入必要的库

    import torch
    from torch.utils.data import DataLoader, Dataset

  2. 定义数据集类 需要自定义一个继承自torch.utils.data.Dataset的类,在该类中实现__len__和__getitem__方法。

    class MyDataset(Dataset):
    def init(self, data):
    self.data = data

    复制代码
     def __len__(self):
         return len(self.data)
     
     def __getitem__(self, index):
         # 返回第index个数据样本
         return self.data[index]
  3. 创建数据集实例

    data = [1, 2, 3, 4, 5]
    dataset = MyDataset(data)

  4. 创建dataloader实例

使用torch.utils.data.DataLoader创建dataloader实例,可以设置batch_size、shuffle等参数。

复制代码
dataloader = DataLoader(dataset, batch_size=2, shuffle=True)
  1. 使用dataloader读取数据

    for batch in dataloader:
    # batch为一个batch的数据,可以直接用于训练
    print(batch)

以上是制作PyTorch的dataloader的简单步骤,根据实际需求可以进行更复杂的操作,如数据增强、并行读取等。

5.已经分类的文件生成标注文件

假设你已经将所有的图片按照类别分别放到了十个文件夹中,可以使用以下代码生成标注文件:

复制代码
import os
# 定义图片所在的文件夹路径和标注文件的路径
img_dir = '/path/to/image/directory'
ann_file = '/path/to/annotation/file.txt'
# 遍历每个类别文件夹中的图片,将标注信息写入到标注文件中
with open(ann_file, 'w') as f:
    for class_id in range(1, 11):
        class_dir = os.path.join(img_dir, 'class{}'.format(class_id))
        for filename in os.listdir(class_dir):
            if filename.endswith('.jpg'):
                # 写入图片的文件名和类别
                f.write('{} {}\n'.format(filename, class_id))
相关推荐
AI日报派送佬4 小时前
2026年10月14日AI行业日报|Gemini 4 Argon正式发布;小模型跨设备传播风险引发安全热议
网络·人工智能·openai·谷歌·deepseek·anthropic·ai日报
VidDown5 小时前
24fps 转 25fps 不只是改个数字:帧率转换、PAL/NTSC 与音频补偿
python·网络协议·音视频·视频编解码·视频
镜象科技5 小时前
职业院校AI心理健康解决方案怎么选?三个特殊场景与三类路线
人工智能
Leo.yuan6 小时前
企业Data Agent架构选型:帆软Dora基于NL2BI的现有BI体系复用方案
大数据·人工智能
朱涛的自习室6 小时前
70 美金的 Beyond Compare,我让 Gemini 4 和 DeepSeek 造个开源免费版(Day 2)
android·前端·人工智能
米小虾6 小时前
上下文:Agent 的眼睛里到底装着什么
人工智能·agent
米小虾6 小时前
Agent = 大脑 + 眼睛 + 手脚:一篇看懂现代 AI Agent 的骨架
人工智能
小小测试开发6 小时前
安全评测得分 0.9556 掉到 0.3257,只改了 top_k 和 prompt_style 之外的题面比例
人工智能·安全·prompt
slacker-kian7 小时前
[实践]-用LLM对文本结构化:把多段文本描述变成规范的 JSON 知识库
人工智能·llm·prompt·结构化·pydantic·one-shot 提示