一、内容概述
利用已经训练好的模型,然后给它提供输入,判断输出是否正确,即模型的应用测试。
在模型测试也会有一些坑:
- 神经网络的输入一般是4阶张量,而图片是3阶张量。
- 采用GPU训练的模型,不能直接在CPU上使用。
二、模型测试套路
在模型测试也会有一些坑:
-
神经网络的输入一般是4阶张量(batch_size, Channel, Hight, weight),而图片是3阶张量(Channel:3, Hight:32, Weight:32)。
解决方案:torch.reshape() API变换shape。 -
采用GPU训练的模型,不能直接在CPU上使用。
- 解决方案1:将GPU训练的模型映射到CPU上测试。
- 解决方案2:GPU训练的模型不用映射到CPU上,将图片映射到GPU上测试。
代码实现
import torch
import torchvision
from PIL import Image
from CIFAR_model import Model # 导入CIFAR_model.py里的Model类定义
image_path = "./dog2.png"
image = Image.open(image_path) # 加载3通道的图片数据,3阶张量
print(image