| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 人工智能 -> #1_Pytorch下的CNN图片分类器 -> 正文阅读 |
|
[人工智能]#1_Pytorch下的CNN图片分类器 |
导入所需框架package
取得数据集 所使用的数据集为torchvision自带的CIFAR10数据集。 该数据集共有60000张彩色图像,这些图像是32*32,分为10个类,每类6000张图。这里面有50000张用于训练,构成了5个训练批,每一批10000张图;另外10000用于测试,单独构成一批。测试批的数据里,取自10类中的每一类,每一类随机取1000张。抽剩下的就随机排列组成了训练批
数据集放在项目路径dataset文件下,将其转化为tensor数据类型,并下载 数据集分为训练数据集和测试数据集:? ? ? train=Ture表示使用CIFAR10的训练数据集 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?train=False表示使用CIFAR10的测试数据集? ? ? 数据集装载
batch_size:即一次训练所抓取的数据样本数量,其大小影响训练速度和模型优化,一般在16~256 shuffle:每一轮(epoch)训练是否将训练模型的数据集进行洗牌 准备工作已经完成,进入正题 最简神经网络搭建 CNN:卷积神经网络主要由这几类层构成:输入层、卷积层,ReLU层、池化(Pooling)层和全连接层(全连接层和常规神经网络中的一样)。通过将这些层叠加起来,就可以构建一个完整的卷积神经网络。 先看代码
参数解释如下: ?训练准备 1.实例化网络模型 2.设定学习速率,与梯度下降的效果密切相关 3.给定优化器 4.设定训练轮数
训练&测试
训练步前设置为训练模式:demon.train() 测试步前设置为测试模式:demon.eval()
每50次输出一次train_loss,test_loss以及测试集上的正确率 torch.save(model,"moedel_name")保存已训练好的模型 开始训练......等(因为是在CPU上训练所以比较慢) 训练的效果如何? 测试 从目录下读取一张图片,转为RGB三通道,通过transform()转为32×32 torch.load("model_name")装载训练时的模型 取有最大概率的类别为识别得到类别
测试结果 CFAR10数据集包含的类别及对应? ? ? ? ? ? ? ? ? ? ? ? ? 网上找一张小狗的照片 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?dog.png 运行结果 ?结果即tensor[5]='dog',算是识别出来了... |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2025年1日历 | -2025/1/11 0:14:10- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |