pytorch 中nn.Dropout的使用说明


Posted in Python onMay 20, 2021

看代码吧~

Class USeDropout(nn.Module):
 
    def __init__(self): 
        super(DropoutFC, self).__init__() 
        self.fc = nn.Linear(100,20) 
        self.dropout = nn.Dropout(p=0.5)  
    def forward(self, input): 
        out = self.fc(input) 
        out = self.dropout(out) 
        return out 
Net = USeDropout() 
Net.train()

示例代码如上,直接调用nn.Dropout即可,但是注意在调用时要将模型参数传入。

补充:Pytorch的nn.Dropout运行稳定性测试

结论:

Pytorch的nn.Dropout在每次被调用时dropout掉的参数都不一样,即使是同一次forward也不同。

如果模型里多次使用的dropout的dropout rate大小相同,用同一个dropout层即可。

如代码所示:

import torch
import torch.nn as nn
class MyModel(nn.Module):
    def __init__(self):
        super(MyModel, self).__init__()
        self.dropout_1 = nn.Dropout(0.5)
        self.dropout_2 = nn.Dropout(0.5)
    def forward(self, input):
        # print(input)
        drop_1 = self.dropout_1(input)
        print(drop_1)
        drop_1 = self.dropout_1(input)
        print(drop_1)
        drop_2 = self.dropout_2(input)
        print(drop_2)
if __name__ == '__main__':
    i = torch.rand((5, 5))
    m = MyModel()
    m.forward(i)

结果如下:

*\python.exe */model.py
tensor([[0.0000, 0.0914, 0.0000, 1.4095, 0.0000],
[0.0000, 0.0000, 0.1726, 1.3800, 0.0000],
[1.7651, 0.0000, 0.0000, 0.9421, 1.5603],
[1.0510, 1.7290, 0.0000, 0.0000, 0.8565],
[0.0000, 0.0000, 0.0000, 0.0000, 0.0000]])
tensor([[0.0000, 0.0000, 0.4722, 1.4095, 0.0000],
[0.0416, 0.0000, 0.1726, 1.3800, 1.3193],
[0.0000, 0.3401, 0.6550, 0.0000, 0.0000],
[1.0510, 1.7290, 1.5515, 0.0000, 0.0000],
[0.6388, 0.0000, 0.0000, 1.0122, 0.0000]])
tensor([[0.0000, 0.0000, 0.4722, 0.0000, 1.2689],
[0.0416, 0.0000, 0.0000, 1.3800, 0.0000],
[0.0000, 0.0000, 0.6550, 0.0000, 1.5603],
[0.0000, 0.0000, 1.5515, 1.4596, 0.0000],
[0.0000, 0.0000, 0.0000, 0.0000, 0.0000]])

Process finished with exit code 0

以上为个人经验,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python实现根据IP地址和子网掩码算出网段的方法
Jul 30 Python
Python下载网络小说实例代码
Feb 03 Python
Python(TensorFlow框架)实现手写数字识别系统的方法
May 29 Python
详解python中的json和字典dict
Jun 22 Python
Python使用win32com模块实现数据库表结构自动生成word表格的方法
Jul 17 Python
selenium+python实现1688网站验证码图片的截取功能
Aug 14 Python
Python调用C语言的实现
Jul 26 Python
Python操作excel的方法总结(xlrd、xlwt、openpyxl)
Sep 02 Python
python字符串格式化方式解析
Oct 19 Python
python实现程序重启和系统重启方式
Apr 16 Python
python 代码运行时间获取方式详解
Sep 18 Python
python3中编码获取网页的实例方法
Nov 16 Python
Python 线程池模块之多线程操作代码
May 20 #Python
pytorch中[..., 0]的用法说明
May 20 #Python
浅谈pytorch中stack和cat的及to_tensor的坑
May 20 #Python
pytorch实现手写数字图片识别
解决python3安装pandas出错的问题
May 20 #Python
python 如何在list中找Topk的数值和索引
May 20 #Python
Requests什么的通通爬不了的Python超强反爬虫方案!
You might like
虹吸式咖啡壶操作
2021/03/03 冲泡冲煮
windwos下使用php连接oracle数据库的过程分享
2014/05/26 PHP
php使用递归函数实现数字累加的方法
2015/03/16 PHP
以文件形式缓存php变量的方法
2015/06/26 PHP
PHP使用redis实现统计缓存mysql压力的方法
2015/11/14 PHP
PHP中__autoload和Smarty冲突的简单解决方法
2016/04/08 PHP
PHP仿微信多图片预览上传实例代码
2016/09/13 PHP
PHP常用函数之获取汉字首字母功能示例
2019/10/21 PHP
jQuery写fadeTo示例代码
2014/02/21 Javascript
JavaScript静态类型检查工具FLOW简介
2015/01/06 Javascript
Jquery easyui开启行编辑模式增删改操作
2016/01/14 Javascript
Javascript 调用 ActionScript 的简单方法
2016/09/22 Javascript
JS实现Ajax的方法分析
2016/12/20 Javascript
requirejs按需加载angularjs文件实例
2017/06/08 Javascript
详解JS模块导入导出
2017/12/20 Javascript
Angular2+如何去除url中的#号详解
2017/12/20 Javascript
Vue单页面应用保证F5强刷不清空数据的解决方案
2018/01/31 Javascript
Mpvue中使用Vant Weapp组件库的方法步骤
2019/05/16 Javascript
微信小程序实现Swiper轮播图效果
2019/11/22 Javascript
[53:15]Newbee vs Pain 2018国际邀请赛小组赛BO2 第二场 8.16
2018/08/17 DOTA
python采集博客中上传的QQ截图文件
2014/07/18 Python
Python实现的朴素贝叶斯分类器示例
2018/01/06 Python
Python反转序列的方法实例分析
2018/03/21 Python
Python学习笔记之迭代器和生成器用法实例详解
2019/08/08 Python
利用4行Python代码监测每一行程序的运行时间和空间消耗
2020/04/22 Python
使用keras和tensorflow保存为可部署的pb格式
2020/05/25 Python
浅谈Python3中print函数的换行
2020/08/05 Python
美国在线精品家居网站:Burke Decor
2017/04/12 全球购物
英国在线照明超市:Castlegate Lights
2019/10/30 全球购物
大学本科毕业生的自我鉴定范文
2013/11/19 职场文书
初中语文教学研修日志
2015/11/13 职场文书
使用Redis实现实时排行榜功能
2021/07/02 Redis
Sql Server之数据类型详解
2022/02/28 SQL Server
Javascript中Microtask和Macrotask鲜为人知的知识点
2022/04/02 Javascript
python标准库ElementTree处理xml
2022/05/20 Python
Java处理延时任务的常用几种解决方案
2022/06/01 Java/Android