使用pytorch准备自己的数据

本文详细介绍了如何使用PyTorch为单标签图像分类任务准备数据,包括数据集的组织结构、数据增强、转换为Tensor、归一化、创建Dataset和DataLoader对象,以及数据加载和显示的实现。示例中,作者处理了一个包含sunny和cloudy两类天气的室外图像数据集。
摘要由CSDN通过智能技术生成

前言

对于著名的数据集比如mnist,像Tensorflow、pytorch这样的流行框架已把它们集成到相关模块中,使用时一至几行简单的代码就能调用。但往往我们需要在自己的数据集上完成一些操作,这篇博客就旨在以单标签图像分类为例,浅谈一下如何使用pytorch准备自己的数据,如有错误,敬请斧正。


我所做的是一个室外图像的天气分类任务,类别只有sunny和cloudy两类。在这个例子中我们不需要提供额外的txt或其他形式的文件来将图片和标签对应起来,但需要将数据集按以下结构组织起来。

organization

训练集和验证集(当然还可以有测试集)需要分开,每个split下面各个类别的图片也要分开,并且文件夹的名字最好就是类别名称。(关于使用pytorch进行回归或多标签分类任务本人还未研究过,这里就暂时不作介绍了)


下面就开始讲代码了,首先把全部代码贴出来,然后再细致解释一下。

import torch
import torchvision
from torchvision import datasets, transforms
import matplotlib.pyplot as plt 
import numpy as np
import os

# Data augmentation and normalization for training 
# Just normalization for validation
data_transforms = {
    'train': transforms.Compose([
        transforms.RandomSizedCrop(224),
        transforms.RandomHorizontalFlip(),
        transforms.ToTensor(),
        transforms.Normalize([0.485, 0.456, 0.406], [0.229, 
  • 3
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值