trochvision (1)

本文介绍了如何在Pytorch的torchvision库中结合数据集与transform进行操作,以CIFAR-10数据集为例,展示了如何下载数据、应用transform如ToTensor,并利用SummaryWriter将数据写入TensorBoard进行可视化。
部署运行你感兴趣的模型镜像

trochvision(1)

如何将数据集与transform结合到一起

一、数据集

Pytorch官网

image-20221215002926350

点击torchvision进入

image-20221215003500433

COCO      # 用于目标检测 语义分割
MNIST     # 手写文字
CIFAR-10  # 物体识别数据集

image-20230101211237514

1.CIFAR-10

image-20221216162719609

CIFAR-10 数据集的参数(parameters):
    root    			# 数据集的位置
    train   			# 为true 则为训练数据集  为false 则为测试数据集
    transform			# 对数据集中的元素进行变换,可将transform中的函数相关变化写在改参数位置
    target_transform 	# 对target 进行transform
    download            # 为true 则在网上下载数据集  为false 则不上网下载

使用案例1:

import torchvision

# 训练集 train=True  # 即使数据集已经下载好了 也可以使用 download=True
train_set = torchvision.datasets.CIFAR10(root="./dataset",train=True,download=True)
# 测试集 rain=False
test_set = torchvision.datasets.CIFAR10(root="./dataset",train=False,download=True)

下载结果:

image-20221216164108337

使用案例2

import torchvision

# 训练集 train=True
train_set = torchvision.datasets.CIFAR10(root="./dataset",train=True,download=True)
# 测试集 rain=False
test_set = torchvision.datasets.CIFAR10(root="./dataset",train=False,download=True)

# 输出测试集中的第一个数据 CIFAR-10 中的数据为 PIL Image 格式
print(test_set[0])   # (<PIL.Image.Image image mode=RGB size=32x32 at 0x7F37DB707A90>, 3)  其中3为target
print(test_set.classes)   # ['airplane', 'automobile', 'bird', 'cat', 'deer', 'dog', 'frog', 'horse', 'ship', 'truck']
#  test_set.classes 输出用于分类的列表 其中 target==3 代表 cat

img,target = test_set[0]  # 可得到测试集中的数据
print(img)
print(target)

# 显示图片
img.show()

运行结果:

image-20230101211327465

使用案例3(与transform结合使用)

import torchvision
from torch.utils.tensorboard import SummaryWriter

# transform 可以通过 Compose 类组合到dataset中
dataset_transform = torchvision.transforms.Compose([
    torchvision.transforms.ToTensor()
])

# 训练集 train=True 
train_set = torchvision.datasets.CIFAR10(root="./dataset",train=True,transform=dataset_transform,download=True)
# 测试集 rain=False
test_set = torchvision.datasets.CIFAR10(root="./dataset",train=False,transform=dataset_transform,download=True)

print(test_set[0])

writer = SummaryWriter("p10")
for i in range(10):
   img,target = test_set[i]
   # ℹ 为 step 步数
   writer.add_image("test_set",img,i)

运行结果:

/home/zxz/anaconda3/envs/pytorch/bin/python /home/zxz/DEEPLEARNING/DEMO/TensorBoard_1/2.py
Files already downloaded and verified  
Files already downloaded and verified
(tensor([[[0.6196, 0.6235, 0.6471,  ..., 0.5373, 0.4941, 0.4549],
         [0.5961, 0.5922, 0.6235,  ..., 0.5333, 0.4902, 0.4667],
         [0.5922, 0.5922, 0.6196,  ..., 0.5451, 0.5098, 0.4706],
         ...,
         [0.2667, 0.1647, 0.1216,  ..., 0.1490, 0.0510, 0.1569],
         [0.2392, 0.1922, 0.1373,  ..., 0.1020, 0.1137, 0.0784],
         [0.2118, 0.2196, 0.1765,  ..., 0.0941, 0.1333, 0.0824]],

        [[0.4392, 0.4353, 0.4549,  ..., 0.3725, 0.3569, 0.3333],
         [0.4392, 0.4314, 0.4471,  ..., 0.3725, 0.3569, 0.3451],
         [0.4314, 0.4275, 0.4353,  ..., 0.3843, 0.3725, 0.3490],
         ...,
         [0.4863, 0.3922, 0.3451,  ..., 0.3804, 0.2510, 0.3333],
         [0.4549, 0.4000, 0.3333,  ..., 0.3216, 0.3216, 0.2510],
         [0.4196, 0.4118, 0.3490,  ..., 0.3020, 0.3294, 0.2627]],

        [[0.1922, 0.1843, 0.2000,  ..., 0.1412, 0.1412, 0.1294],
         [0.2000, 0.1569, 0.1765,  ..., 0.1216, 0.1255, 0.1333],
         [0.1843, 0.1294, 0.1412,  ..., 0.1333, 0.1333, 0.1294],
         ...,
         [0.6941, 0.5804, 0.5373,  ..., 0.5725, 0.4235, 0.4980],
         [0.6588, 0.5804, 0.5176,  ..., 0.5098, 0.4941, 0.4196],
         [0.6275, 0.5843, 0.5176,  ..., 0.4863, 0.5059, 0.4314]]]), 3)

Process finished with exit code 0

您可能感兴趣的与本文相关的镜像

PyTorch 2.5

PyTorch 2.5

PyTorch
Cuda

PyTorch 是一个开源的 Python 机器学习库,基于 Torch 库,底层由 C++ 实现,应用于人工智能领域,如计算机视觉和自然语言处理

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值