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线性回归实战分析
Feb 01 Python
Python简单定义与使用二叉树示例
May 11 Python
Python使用googletrans报错的解决方法
Sep 25 Python
python关闭占用端口方式
Dec 17 Python
Pytorch使用MNIST数据集实现基础GAN和DCGAN详解
Jan 10 Python
python同义词替换的实现(jieba分词)
Jan 21 Python
Python Opencv中用compareHist函数进行直方图比较对比图片
Apr 07 Python
Python文件夹批处理操作代码实例
Jul 21 Python
python快速安装OpenCV的步骤记录
Feb 22 Python
Pytest之测试命名规则的使用
Apr 16 Python
python中if和elif的区别介绍
Nov 07 Python
使用python生成大量数据写入es数据库并查询操作(2)
Sep 23 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
php实现检查文章是否被百度收录
2015/01/27 PHP
PHP基于工厂模式实现的计算器实例
2015/07/16 PHP
PHP实现路由映射到指定控制器
2016/08/13 PHP
php生成网页桌面快捷方式
2017/05/05 PHP
PHP实现基于图的深度优先遍历输出1,2,3...n的全排列功能
2017/11/10 PHP
发布BlueShow v1.0 图片浏览器(类似lightbox)blueshow.js 打包下载
2007/07/21 Javascript
容易被忽略的JS脚本特性
2011/09/13 Javascript
javascript限制文本框只允许输入数字(曾经与现在的方法对比)
2013/01/18 Javascript
js图片向右一张张滚动效果实例代码
2013/11/23 Javascript
jquery ui bootstrap 实现自定义风格
2014/11/14 Javascript
JavaScript中的object转换成number或string规则介绍
2014/12/31 Javascript
Javascript 拖拽雏形(逐行分析代码,让你轻松了拖拽的原理)
2015/01/23 Javascript
浅谈js的html元素的父节点,子节点
2016/08/06 Javascript
jQuery实现ajax的叠加和停止(终止ajax请求)
2016/08/08 Javascript
jQuery实现磁力图片跟随效果完整示例
2016/09/16 Javascript
Bootstrap框架实现广告轮播效果
2016/11/28 Javascript
探讨跨域请求资源的几种方式(总结)
2016/12/02 Javascript
基于js实现的限制文本框只可以输入数字
2016/12/05 Javascript
nginx配置React静态页面的方法教程
2017/11/03 Javascript
分析JS单线程异步io回调的特性
2017/12/01 Javascript
nodeJS微信分享
2017/12/20 NodeJs
利用JS实现一个同Excel表现的智能填充算法
2018/08/13 Javascript
vue全局使用axios的方法实例详解
2018/11/22 Javascript
windows下安装Python和pip终极图文教程
2017/03/05 Python
python的dataframe和matrix的互换方法
2018/04/11 Python
pygame游戏之旅 计算游戏中躲过的障碍数量
2018/11/20 Python
Python 实现中值滤波、均值滤波的方法
2019/01/09 Python
python代码实现TSNE降维数据可视化教程
2020/02/28 Python
Python中remove漏删和索引越界问题的解决
2020/03/18 Python
Tensorflow与Keras自适应使用显存方式
2020/06/22 Python
美国知名日用品连锁超市:Dollar General(多来店)
2017/01/14 全球购物
美国时尚假发购物网站:Wigsbuy
2019/04/06 全球购物
WEB控件可以激发服务端事件,请谈谈服务端事件是怎么发生并解释其原理?自动传回是什么?为什么要使用自动传回?
2012/02/21 面试题
大雁塔英文导游词
2015/02/10 职场文书
2015年乡镇卫生院妇幼保健工作总结
2015/05/19 职场文书
win10频率超出范围怎么办?win10老显示超出工作频率范围的解决方法
2022/07/07 数码科技