【深度学习】平时工作中遇到的小问题

  1. 如何翻转dict 的k,v

train_ds.class_to_idx
{‘cloudy’: 0, ‘rain’: 1, ‘shine’: 2, ‘sunrise’: 3}

id_to_class = dict((v,k) for k, v in train_ds.class_to_idx.items())

id_to_class
{0: ‘cloudy’, 1: ‘rain’, 2: ‘shine’, 3: ‘sunrise’}

  1. 查看多张数据集
plt.figure(figsize=(12,8))
for i, (img, label) in enumerate(zip(imgs[0:6],labels[:6])):
    img = img.permute(1,2,0).numpy()
    plt.subplot(2,3,i+1)
    plt.title(id_to_class.get(label.item()))
    plt.imshow(img)

【深度学习】平时工作中遇到的小问题_第1张图片
permute 是调换纬度的顺序
zip的使用方式也需要查一下,省了遍历了。

  1. 为啥图片需要resize
from torchvision import transforms
# 输入的图片大小不同,所以需要resize到相同的大小,否则的话,就用不了。
# RuntimeError: stack expects each tensor to be equal size, but got [3, 164, 245] at entry 0 and [3, 201, 250] at entry 1
transformation = transforms.Compose([
    transforms.Resize((96,96)),
    transforms.ToTensor()
])

tensor 的纬度必须保持一致,否则玩不了了。为什么推理的时候,没有限制必须一致,那是因为人家框架给你resize好了。

你可能感兴趣的:(深度学习,python,人工智能)