在根据pytorch手册学习的过程中,PyTorch之迁移学习这一章节报错及解决。
这一章节主要实现的就是:在一个很大的数据集上 进行预训练得到卷积网络ConvNet, 然后将这ConvNet的参数作为目标任务的初始化参数或者固定这些参数。
主要步骤是:
1.导入相关的包
2.加载数据
3.可视化部分图像数据
4.训练模型
5.可视化模型的预测结果
6.场景1:微调ConvNet
7.场景2:ConvNet作为固定特征提取器
首先在运行3的时候,代码:
dataloaders = {x: torch.utils.data.DataLoader(image_datasets[x], batch_size=4, shuffle=True, num_workers=4) for x in ['train', 'val']}
def imshow(inp, title=None):
"""Imshow for Tensor."""
inp = inp.numpy().transpose((1, 2, 0))
mean = np.array([0.485, 0.456, 0.406])
std = np.array([0.229, 0.224, 0.225])
inp = std * inp + mean
inp = np.clip(inp, 0, 1)
plt.imshow(inp)
if title is not None:
plt.title(title)
plt.pause(0.001) # pause a bit so that plots are updated
# 获取一批