当前位置: 首页 > news >正文

PyTorch的dataloader制作自定义数据集

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

  1. 导入必要的库

import torch
from torch.utils.data import DataLoader, Dataset
  1. 定义数据集类 需要自定义一个继承自torch.utils.data.Dataset的类,在该类中实现__len____getitem__方法。

class MyDataset(Dataset):def __init__(self, data):self.data = datadef __len__(self):return len(self.data)def __getitem__(self, index):# 返回第index个数据样本return self.data[index]
  1. 创建数据集实例

data = [1, 2, 3, 4, 5]
dataset = MyDataset(data)
  1. 创建dataloader实例

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

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))
http://www.lryc.cn/news/540876.html

相关文章:

  • 如何调用 DeepSeek API:详细教程与示例
  • Hadoop-HA集群部署
  • 三、linux字符驱动详解
  • 【Research Proposal】基于提示词方法的智能体工具调用研究——研究问题
  • 【从0做项目】Java文档搜索引擎(9)烧脑终章!
  • python: SQLAlchemy (ORM) Simple example using mysql in Ubuntu 24.04
  • 如何为自己的 PDF 文件添加密码?在线加密 PDF 文件其实更简单
  • echarts 折线图动态基准线设置超出基准线标红
  • Part 3 第十二章 单元测试 Unit Testing
  • C++与Python:两种编程语言的区别
  • Springboot 高频面试题
  • 常用电脑,护眼软件推荐 f.lux 3400K | 撰写论文 paper
  • MacOS下使用Ollama本地构建DeepSeek并使用本地Dify构建AI应用
  • 如何有效利用MYSQL的连接数
  • 调用click.getchar()时Windows PyCharm无法模拟键盘输入
  • 使用Hardhat实现ERC20 代币合约详解
  • 清华大学《DeepSeek与AI幻觉》(无套路免费分享)
  • 代码随想录算法【Day52】
  • Spark 和 Flink
  • Unity结合Vuforia虚拟按键实现AR机械仿真动画效果
  • PL/SQL 异常处理
  • 【自学笔记】Spring Boot框架技术基础知识点总览-持续更新
  • Redis 缓存穿透、击穿、雪崩:问题与解决方案
  • 第一个CMAKE项目hello cmake
  • 骶骨神经
  • 基于Django的购物商城平台的设计与实现(源码+lw+部署文档+讲解),源码可白嫖!
  • 使用快捷键高效管理 VSCode:提升工作效率,告别鼠标操作
  • 【找工作】C++和算法复习(自用)
  • 大语言模型基础
  • 深入浅出机器学习:概念、算法与实践