深度学习猫狗大战数据集处理7.2

猫狗大战数据集:
链接:https://pan.baidu.com/s/1_qa0u-vLFx1ARmlmJ05R_w
提取码:bgao

import torch
import  torchvision
import os
from torchvision import datasets,transforms
import  time
import matplotlib.pyplot as plt
#载入数据集
data_dir="D:/研究生阶段PPT等文件/DogsVSCats"
data_transform = {x:transforms.Compose([transforms.Scale([64,64]),transforms.ToTensor()])
                  for x in ["train","valid"]}
#transform.Scale  将原始图片的大小统一缩放至64*64
image_datasets={x:datasets.ImageFolder(root=os.path.join(data_dir,x),
                                       transform  = data_transform[x])

                for x in ["train", "valid"]}
#os.path.join将输入参数的两个名字拼接成一个完整的文件目录
dataloader={x:torch.utils.data.DataLoader(dataset=image_datasets[x],
                                          batch_size=16,
                                          shuffle=True)
            for x in ["train","valid"]}

x_example,y_example = next(iter(dataloader["train"]))
print(u"x_example个数{}".format(len(x_example)))
print(u"y_example个数{}".format(len(y_example)))


index_classes=image_datasets["train"].class_to_idx
#查看猫狗独热编码的对应关系(One-Hot Encoding)即猫狗被数字化
print(index_classes)
example_classes=image_datasets["train"].classes
print(example_classes)
#使用matplotlib对一个批次的图片进行绘制
img=torchvision.utils.make_grid(x_example)
img=img.numpy().transpose([1,2,0])
print([example_classes[i] for i in y_example])
plt.imshow(img)
plt.show()

运行结果:x_example个数16
y_example个数16
{‘Cat’: 0, ‘Dog’: 1}
[‘Cat’, ‘Dog’]
[‘Dog’, ‘Cat’, ‘Dog’, ‘Cat’, ‘Cat’, ‘Dog’, ‘Cat’, ‘Cat’, ‘Cat’, ‘Cat’, ‘Dog’, ‘Dog’, ‘Dog’, ‘Cat’, ‘Dog’, ‘Cat’]
在这里插入图片描述

发布了31 篇原创文章 · 获赞 0 · 访问量 2686

猜你喜欢

转载自blog.csdn.net/kaxiaokui/article/details/104380587