PyTorch搭建LeNet测试集实现

搭建神经网络请看PyTorch搭建LeNet神经网络-CSDN博客

实现训练集请看PyTorch搭建LeNet训练集详细实现-CSDN博客

测试集比较简单,直接上代码。

代码实现

python 复制代码
# 导包 不必多说
import torch
import torchvision.transforms as transforms
from PIL import Image
from model import LeNet

# 详细解释见下面
transform = transforms.Compose(
    [transforms.Resize((32, 32)),
     transforms.ToTensor(),
     transforms.Normalize((0.5, 0.5, 0.5), (0.5, 0.5, 0.5))])


# 与训练集一样的分类
classes = ('plane', 'car', 'bird', 'cat',
           'deer', 'dog', 'frog', 'horse', 'ship', 'truck')

# 模型实例化
net = LeNet()
net.load_state_dict(torch.load('LeNet.pth'))  # 载入在训练时保存的权重文件

im = Image.open('3.jpg')
im = transform(im)  # 预处理数据
im = torch.unsqueeze(im, dim=0)  # 将数据中增加一个batch维度

with torch.no_grad():
    outputs = net(im)
    # 寻找最大值所在的index索引值
    predict = torch.max(outputs, dim=1)[1].data.numpy()
# 最后打印预测结果
print(classes[int(predict)])

预处理数据函数

python 复制代码
transform = transforms.Compose(
    [transforms.Resize((32, 32)),
     transforms.ToTensor(),
     transforms.Normalize((0.5, 0.5, 0.5), (0.5, 0.5, 0.5))])

这一段是将数据预处理,相比于训练集中的数据预处理多了transforms.Resize((32, 32)),因为导入的图片尺寸不一定正确,需要先将图片的尺寸重新定义。

运行结果

我测试了飞机、汽车、鸟,飞机、汽车都可以识别出来。但鸟不行,可能是图片的像素太小,训练不到位。

把鸟给预测成猫了

总结

三天!从0开始,实现了LeNet。跟着b站上的视频,反复观看并记笔记,再自己手敲代码,再写出笔记。代码都能跑通实现,中间遇到的问题也靠自己独立解决了。对于自己来说还是比较有成就感的。但是我知道这点知识对于想要学好深度学习是远远远远不够的。还是要继续不断地学习。这样一篇一篇笔记也是我努力学习的见证!要努力成为很厉害的人!希望大家也是!

相关推荐
GAOJ_K3 分钟前
滚珠螺杆的内循环与外循环有何差异?
人工智能·科技·机器人·自动化·制造
Narrastory11 分钟前
解剖注意力:从零构建Transformer的终极指南
深度学习
这张生成的图像能检测吗14 分钟前
(论文速读)Nickel and Diming Your GAN:通过知识蒸馏提高GAN效率的双重方法
人工智能·生成对抗网络·计算机视觉·知识蒸馏·图像生成·模型压缩技术
0思必得016 分钟前
[Web自动化] CSS基础概念和介绍
前端·css·python·自动化·html·web自动化
计算机徐师兄19 分钟前
Python基于Django的MOOC线上课程推荐数据分析与可视化系统(附源码,文档说明)
python·数据分析·django·慕课线上课程推荐·慕课线上课程推荐可视化系统·pytho线上课程推荐可视化·线上课程推荐数据分析可视化系统
free-elcmacom21 分钟前
Python实战项目<2>使用Graphviz绘制流程框图
开发语言·python·graphviz
中国胖子风清扬25 分钟前
Spring AI Alibaba + Ollama 实战:基于本地 Qwen3 的 Spring Boot 大模型应用
java·人工智能·spring boot·后端·spring·spring cloud·ai
ljuncong28 分钟前
python的装饰器怎么使用
开发语言·python
A7bert77729 分钟前
【YOLOv5seg部署RK3588】模型训练→转换RKNN→开发板部署
linux·c++·人工智能·深度学习·yolo·目标检测
不会计算机的g_c__b33 分钟前
AI Agent:从概念到实践,解析智能体的未来趋势与挑战
人工智能