热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

学习pytorch的mnist

60000个训练数据,10000个测试数据,每张图片大小28*28。1.torch.nn.Dropout2dtorch.nn.Dropout2d(p0.5,inplaceFalse

60000个训练数据,10000个测试数据,每张图片大小28*28。

1. torch.nn.Dropout2d

torch.nn.Dropout2d(p = 0.5, inplace = False)
# p表示将元素置0的概率,inplace若设置为True,会在原地执行操作。

随机将输入张量中整个通道设置为0。对于每次前向调用,被置0的通道都是随机的。

如果特征图中相邻像素是强相关的,nn.Dropout2d()可以提高特征图之间的独立程度。

2. model.train() / model.eval()

使用PyTorch进行训练和测试时要把实例化的model指定train/eval,eval()时,框架会自动把BN和DropOut固定住,不会取平均,而是用训练好的值,不然的话,一旦test的batch_size过小,很容易就会被BN层导致生成图片颜色失真极大。

3. 随机种子

一个随机种子就能重现随机生成的序列。就是每次运行生成的随机序列都一样。

torch.manual_seed(args.seed) #为CPU设置种子用于生成随机数torch.cuda.manual_seed(args.seed)#为当前GPU设置随机种子torch.cuda.manual_seed_all() #为所有的GPU设置种子。

关于随机种子random.seed()测试 pytorch完全设置随机种子

4. argparse

python argparse用法总结

3 和 4 的这两个连接,建议亲自写写代码做下测试,对seed()和argparse会理解得更透彻,我一开始光看根本没明白。

5. torch.nn.functional.avg_pool2d()

torch.nn.functional.avg_pool2d(input, kernel_size, stride=None, padding=0, ceil_mode=False, count_include_pad=True)
#参数说明
# input – 输入的张量
# kernel_size – 池化区域的大小,可以是单个数字或者元组
# stride – 池化操作的步长,可以是单个数字或者元组。默认等于核的大小!
# padding – 在输入上隐式的零填充,可以是单个数字或者一个元组,默认: 0
# ceil_mode – 定义空间输出形状的操作
# count_include_pad – 除以原始非填充图像内的元素数量

主要想说明这些池化类的函数,stride默认都为核的大小。

6. F.nll_loss(output, target, reduction = ‘sum’)

参数reduction=’sum’的意思是求batch loss的总和,没有这个参数则求的是batch loss的平均值。

和torch.nn.functional – PyTorch中文文档中给出的损失函数的size_average作用一样。

7. torch.max

torch.max(input, dim) 返回输入张量给定维度上每行的最大值,并同时返回每个最大值的位置索引。

output = model(data) #output.shape = torch.Size([1000,10])
a = output.max(1)
#a得到最大值及索引,a[0]为最大值,a[1]为最大值的索引, a[0].shape = torch.Size([1000])
b = output.max(1,keepdim = True)
#参数keepdim = 'True' 使得b的维度与ouput一致,因此,b[0].shape = torch.Size([1000.1])
pred = output.max(1, keepdim = True)[1] #获取索引,也就是属于哪个数字

《学习pytorch的mnist》
《学习pytorch的mnist》


推荐阅读
  • 本文详细介绍了如何使用MySQL来显示SQL语句的执行时间,并通过MySQL Query Profiler获取CPU和内存使用量以及系统锁和表锁的时间。同时介绍了效能分析的三种方法:瓶颈分析、工作负载分析和基于比率的分析。 ... [详细]
  • 也就是|小窗_卷积的特征提取与参数计算
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了卷积的特征提取与参数计算相关的知识,希望对你有一定的参考价值。Dense和Conv2D根本区别在于,Den ... [详细]
  • [大整数乘法] java代码实现
    本文介绍了使用java代码实现大整数乘法的过程,同时也涉及到大整数加法和大整数减法的计算方法。通过分治算法来提高计算效率,并对算法的时间复杂度进行了研究。详细代码实现请参考文章链接。 ... [详细]
  • 前景:当UI一个查询条件为多项选择,或录入多个条件的时候,比如查询所有名称里面包含以下动态条件,需要模糊查询里面每一项时比如是这样一个数组条件:newstring[]{兴业银行, ... [详细]
  • C++字符字符串处理及字符集编码方案
    本文介绍了C++中字符字符串处理的问题,并详细解释了字符集编码方案,包括UNICODE、Windows apps采用的UTF-16编码、ASCII、SBCS和DBCS编码方案。同时说明了ANSI C标准和Windows中的字符/字符串数据类型实现。文章还提到了在编译时需要定义UNICODE宏以支持unicode编码,否则将使用windows code page编译。最后,给出了相关的头文件和数据类型定义。 ... [详细]
  • 本文讨论了如何在codeigniter中识别来自angularjs的请求,并提供了两种方法的代码示例。作者尝试了$this->input->is_ajax_request()和自定义函数is_ajax(),但都没有成功。最后,作者展示了一个ajax请求的示例代码。 ... [详细]
  • 本文介绍了在满足特定条件时如何在输入字段中使用默认值的方法和相应的代码。当输入字段填充100或更多的金额时,使用50作为默认值;当输入字段填充有-20或更多(负数)时,使用-10作为默认值。文章还提供了相关的JavaScript和Jquery代码,用于动态地根据条件使用默认值。 ... [详细]
  • Python教学练习二Python1-12练习二一、判断季节用户输入月份,判断这个月是哪个季节?3,4,5月----春 ... [详细]
  • 本文介绍了brain的意思、读音、翻译、用法、发音、词组、同反义词等内容,以及脑新东方在线英语词典的相关信息。还包括了brain的词汇搭配、形容词和名词的用法,以及与brain相关的短语和词组。此外,还介绍了与brain相关的医学术语和智囊团等相关内容。 ... [详细]
  • CF:3D City Model(小思维)问题解析和代码实现
    本文通过解析CF:3D City Model问题,介绍了问题的背景和要求,并给出了相应的代码实现。该问题涉及到在一个矩形的网格上建造城市的情景,每个网格单元可以作为建筑的基础,建筑由多个立方体叠加而成。文章详细讲解了问题的解决思路,并给出了相应的代码实现供读者参考。 ... [详细]
  • 3.223.28周学习总结中的贪心作业收获及困惑
    本文是对3.223.28周学习总结中的贪心作业进行总结,作者在解题过程中参考了他人的代码,但前提是要先理解题目并有解题思路。作者分享了自己在贪心作业中的收获,同时提到了一道让他困惑的题目,即input details部分引发的疑惑。 ... [详细]
  • 【shell】网络处理:判断IP是否在网段、两个ip是否同网段、IP地址范围、网段包含关系
    本文介绍了使用shell脚本判断IP是否在同一网段、判断IP地址是否在某个范围内、计算IP地址范围、判断网段之间的包含关系的方法和原理。通过对IP和掩码进行与计算,可以判断两个IP是否在同一网段。同时,还提供了一段用于验证IP地址的正则表达式和判断特殊IP地址的方法。 ... [详细]
  • Android工程师面试准备及设计模式使用场景
    本文介绍了Android工程师面试准备的经验,包括面试流程和重点准备内容。同时,还介绍了建造者模式的使用场景,以及在Android开发中的具体应用。 ... [详细]
  • 上图是InnoDB存储引擎的结构。1、缓冲池InnoDB存储引擎是基于磁盘存储的,并将其中的记录按照页的方式进行管理。因此可以看作是基于磁盘的数据库系统。在数据库系统中,由于CPU速度 ... [详细]
  • 在Windows10系统上使用VMware创建CentOS虚拟机的详细步骤教程
    本文详细介绍了在Windows10系统上使用VMware创建CentOS虚拟机的步骤,包括准备条件、安装VMware、下载CentOS ISO文件、创建虚拟机并进行自定义配置、设置虚拟机的ISO与网络、进行安装和配置等。通过本文的指导,读者可以轻松地创建自己的CentOS虚拟机并进行相应的配置和操作。 ... [详细]
author-avatar
S_o_m_n_u_211
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有