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实现简单的服务器功能
Aug 25 Python
python实现m3u8格式转换为mp4视频格式
Feb 28 Python
python实现flappy bird游戏
Dec 24 Python
python3.4+pycharm 环境安装及使用方法
Jun 13 Python
python获取地震信息 微信实时推送
Jun 18 Python
python获取指定日期范围内的每一天,每个月,每季度的方法
Aug 08 Python
django与vue的完美结合_实现前后端的分离开发之后在整合的方法
Aug 12 Python
django创建最简单HTML页面跳转方法
Aug 16 Python
python 发送json数据操作实例分析
Oct 15 Python
python 创建一维的0向量实例
Dec 02 Python
python 使用opencv 把视频分割成图片示例
Dec 12 Python
pycharm 激活码及使用方式的详细教程
May 12 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中strtotime函数使用方法详解
2011/11/27 PHP
php验证是否是md5编码的简单代码
2014/04/01 PHP
ThinkPHP之用户注册登录留言完整实例
2014/07/22 PHP
PHP生成唯一ID之SnowFlake算法
2016/12/17 PHP
ExtJS扩展 垂直tabLayout实现代码
2009/06/21 Javascript
JavaScript1.6数组新特性介绍以及JQuery的几个工具方法
2013/12/06 Javascript
uploadify多文件上传参数设置技巧
2015/11/16 Javascript
第六篇Bootstrap表格样式介绍
2016/06/21 Javascript
关于动态执行代码(js的Eval)实例详解
2016/08/15 Javascript
AngularJS入门教程之更多模板详解
2016/08/19 Javascript
Vuejs 用$emit与$on来进行兄弟组件之间的数据传输通信
2017/02/23 Javascript
AngularJs用户登录问题处理(交互及验证、阻止FQ处理)
2017/10/26 Javascript
详解vue添加删除元素的方法
2018/06/30 Javascript
js+SVG实现动态时钟效果
2018/07/14 Javascript
element-ui组件table实现自定义筛选功能的示例代码
2019/03/15 Javascript
vue实现弹幕功能
2019/10/25 Javascript
实例分析javascript中的异步
2020/06/02 Javascript
Python BeautifulSoup中文乱码问题的2种解决方法
2014/04/22 Python
Python异常学习笔记
2015/02/03 Python
状态机的概念和在Python下使用状态机的教程
2015/04/11 Python
举例讲解Python中的算数运算符的用法
2015/05/13 Python
常用python编程模板汇总
2016/02/12 Python
Python进阶_关于命名空间与作用域(详解)
2017/05/29 Python
Python爬虫之xlml解析库(全面了解)
2017/08/08 Python
Python自动化运维之Ansible定义主机与组规则操作详解
2019/06/13 Python
Python中对象的比较操作==和is区别详析
2021/02/12 Python
以色列的身体护理及家居香薰品牌:Sabon NYC
2018/02/23 全球购物
创伤外科专业推荐信范文
2013/11/19 职场文书
手工社团活动方案
2014/02/17 职场文书
软件部经理岗位职责范本
2014/02/25 职场文书
《晚上的太阳》教学反思
2014/04/23 职场文书
个人欠款担保书
2014/05/20 职场文书
销售团队口号大全
2014/06/06 职场文书
提取视频中的音频 Python只需要三行代码!
2021/05/10 Python
Java获取e.printStackTrace()打印的信息方式
2021/08/07 Java/Android
Python+Matplotlib图像上指定坐标的位置添加文本标签与注释
2022/04/11 Python