首页 > 热点 > > 正文

PyTorch-Mnist分类任务-1

2023-07-31 23:17:49 来源:哔哩哔哩 分享到:

写在前面的话:

从今天开始就要正式复现深度学习的代码,本人Python基础薄弱,所以尽可能查找资料,解释神经网络代码......每天的学习内容都会放在这里,希望能坚持下去!

绿色文字解释不理解的代码


【资料图】

蓝色文字用来提问

红色文字专供快速抓取信息

b站不好展现代码,所以就只好截图。写完工程会分享到夸克网盘

文化程度有限,所以文笔比较随意

Mnist分类任务

何为Mnist数据集?通俗来说,7万张手写数字的28*28*3大小的图片罢了。

学术一点解释:60000 行的训练数据集(train)和10000行的测试数据(test)。60000 行的训练集分拆为 55000 行的训练集和 5000 行的验证集。

本项目使用PyTorch框架,确实省了很多时间,梯度计算、损失函数、更新权重参数这些一行代码就能搞定。搭建神经网络也就是把所需要的输入/输出参数封装在一起即可(代码中写了两层神经网络)。

废话不多说,开始干代码!

第1行:导入pickle模块实现了基本的数据序列与反序列化。

何为数据序列与反序列化?

序列化是将对象转化为字节序列的过程。反序列化:是将字节序列转化为对象的过程。说白了就是文件夹中的文件转换成二进制代码的过程。

第2行:gzip是python中解压/压缩库(打开下载好的数据集压缩包)

第3行:with...as... 函数:不用手动关闭文件。当执行完内容后,自动执行关闭文件。就是打开XXX文件指定为file。 使用(filename, mode='rb') 函数,其中rb是只读+二进制形式的意思。只读模式下解压Mnist压缩包厚指定为file。

第4行:把file文件转化成python可以执行的对象。encoding="latin-1" 是编码方式采取latin-1的规范,感觉也不用懂这个....

x是输入,y是输出。为什么会有(x_train, y_train), (x_valid, y_valid)?可能是Mnist数据集打开后有四列数据?解压Mnist文件后得到一个pkl文件,无法直接打开。现在快23点了,所以今晚先写到这里,明天再想吧......

标签:

x 广告
x 广告

Copyright ©  2015-2022 华中仪表网版权所有  备案号:京ICP备12018864号-26   联系邮箱:2 913 236 @qq.com