pytorch读取CIFAR-10并显示图像

仅作为操作记录

完整程序

1、首先路径E:\NuClick-master\pytorchcifarclass下有文件:
在这里插入图片描述
2、在一个py文件中放入程序即可运行:

import torch
import torchvision
import torchvision.transforms as transforms
import matplotlib.pyplot as plt
import numpy as np

transform=transforms.Compose([transforms.ToTensor(),
                              transforms.Normalize((0.5,0.5,0.5),(0.5,0.5,0.5))])
trainset=torchvision.datasets.CIFAR10(root=r'E:\code\python\NuClick-master\pytorchcifarclass',train=True,download=True,transform=transform)
trainloader=torch.utils.data.DataLoader(trainset,batch_size=4,shuffle=True,num_workers=2)

testset = torchvision.datasets.CIFAR10(root=r'E:\code\python\NuClick-master\pytorchcifarclass', train=False,download=True, transform=transform)
testloader = torch.utils.data.DataLoader(testset, batch_size=4,shuffle=False, num_workers=2)

classes = ('plane', 'car', 'bird', 'cat',
           'deer', 'dog', 'frog', 'horse', 'ship', 'truck')
print('ok')

def imshow(img):
    img=img/2+0.5
    npimg=img.numpy()
    plt.imshow(np.transpose(npimg,(1,2,0)))
    plt.show()

# dataiter=iter(trainloader)
# images,labels=dataiter.next()
#
# imshow(torchvision.utils.make_grid(images))
# print(''.join('%5s' % classes[labels[j]] for j in range(4)))

if __name__ == '__main__':
    dataiter=iter(trainloader)
    images,labels=dataiter.next()

    print(' '.join('%5s' % classes[labels[j]] for j in range(4)))
    imshow(torchvision.utils.make_grid(images))

运行结果

在这里插入图片描述

关于程序的理解,参考大佬博主文章 (又发现了pytorch_document


注:
在这里插入图片描述
在这里插入图片描述
相照应


又1中的文件可在官网下载

在这里插入图片描述

bug的解决记录

1、根据官方文档,无法直接进行显示,出现BrokenPipeError: [Errno 32] Broken pipe的错误。

在这里插入图片描述

解决:使用

if __name__ == '__main__':

如图:
在这里插入图片描述

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值