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抓取京东商城手机列表url实例代码
Dec 18 Python
判断网页编码的方法python版
Aug 12 Python
老生常谈Python基础之字符编码
Jun 14 Python
微信跳一跳游戏python脚本
Apr 01 Python
python3监控CentOS磁盘空间脚本
Jun 21 Python
用vue.js组件模拟v-model指令实例方法
Jul 05 Python
python中matplotlib实现随鼠标滑动自动标注代码
Apr 23 Python
python百行代码自制电脑端网速悬浮窗的实现
May 12 Python
Python正则表达式如何匹配中文
May 27 Python
python定义类的简单用法
Jul 24 Python
python re模块常见用法例举
Mar 01 Python
Python爬虫之爬取哔哩哔哩热门视频排行榜
Apr 28 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处理json时中文问题的解决方法
2011/04/12 PHP
php中用数组的方法设置cookies
2011/04/21 PHP
php常用的安全过滤函数集锦
2014/10/09 PHP
php实现mysql数据库连接操作及用户管理
2015/11/08 PHP
利用PHP获取网站访客的所在地位置
2017/01/18 PHP
修改Laravel自带的认证系统的User类的命名空间的步骤
2019/10/15 PHP
Mootools 1.2教程 输入过滤第二部分(字符串)
2009/09/15 Javascript
基于jquery的页面划词搜索JS
2010/09/14 Javascript
Javascript中找到子元素在父元素内相对位置的代码
2012/07/21 Javascript
JS获取当前使用的浏览器名字以及版本号实现方法
2016/08/19 Javascript
jQuery中的insertBefore(),insertAfter(),after(),before()区别介绍
2016/09/01 Javascript
第一次接触神奇的Bootstrap
2016/10/14 Javascript
使用JavaScriptCore实现OC和JS交互详解
2017/03/28 Javascript
详解webpack4多入口、多页面项目构建案例
2018/05/25 Javascript
详解Vue-cli3 项目在安卓低版本系统和IE上白屏问题解决
2019/04/14 Javascript
vue 的 solt 子组件过滤过程解析
2019/09/07 Javascript
Angular 多模块项目构建过程
2020/02/13 Javascript
使用原生javascript开发计算器实例代码
2021/02/21 Javascript
python循环监控远程端口的方法
2015/03/14 Python
Python 存储字符串时节省空间的方法
2019/04/23 Python
Python3内置模块pprint让打印比print更美观详解
2019/06/02 Python
numpy数组广播的机制
2019/07/12 Python
python selenium 获取接口数据的实现
2020/12/07 Python
英国奢侈品网站:MatchesFashion
2016/12/16 全球购物
希尔顿酒店中国网站:Hilton中国
2017/03/11 全球购物
意大利独特而优质的家居用品:Fazzini
2018/12/05 全球购物
英国蜡烛、蜡烛配件和家居香氛购买网站:Yankee Candle
2018/12/12 全球购物
Gerry Weber德国官网:优质女性时装,德国最大的时装公司之一
2019/11/02 全球购物
献爱心倡议书
2014/04/14 职场文书
垃圾分类的活动方案
2014/08/15 职场文书
公司股份合作协议书
2014/12/07 职场文书
2015年学校体育工作总结
2015/04/22 职场文书
k-means & DBSCAN 总结
2021/04/27 Python
提取视频中的音频 Python只需要三行代码!
2021/05/10 Python
使用numpy nonzero 找出非0元素
2021/05/14 Python
Windows server 2012 NTP时间同步的实现
2022/06/25 Servers