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将DataFrame的某一列作为index的方法
Apr 08 Python
用Python将mysql数据导出成json的方法
Aug 21 Python
Python pymongo模块常用操作分析
Sep 01 Python
Python3实现的判断回文链表算法示例
Mar 08 Python
在Qt5和PyQt5中设置支持高分辨率屏幕自适应的方法
Jun 18 Python
python Web flask 视图内容和模板实现代码
Aug 23 Python
python实现从wind导入数据
Dec 03 Python
python简单实现最大似然估计&scipy库的使用详解
Apr 15 Python
Python基于gevent实现高并发代码实例
May 15 Python
Python列表如何更新值
May 27 Python
python生成xml时规定dtd实例方法
Sep 21 Python
Python中如何处理常见报错
Jan 18 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
WML,Apache,和 PHP 的介绍
2006/10/09 PHP
php删除字符串末尾子字符,删除开始字符,删除两端字符(实现代码)
2013/06/27 PHP
PHP Imagick完美实现图片裁切、生成缩略图、添加水印
2016/02/22 PHP
ThinkPHP中调用PHPExcel的实现代码
2017/04/08 PHP
php实现有序数组旋转后寻找最小值方法
2018/09/27 PHP
laravel框架实现后台登录、退出功能示例
2019/10/31 PHP
使用jquery解析XML的方法
2014/09/05 Javascript
js实现jquery的offset()方法实例
2015/01/10 Javascript
jquery实现textarea输入框限制字数的方法
2015/01/15 Javascript
浅谈js中变量初始化
2015/02/03 Javascript
详细分析JavaScript变量类型
2015/07/08 Javascript
JQuery入门基础小实例(1)
2015/09/17 Javascript
AngularJs $parse、$eval和$observe、$watch详解
2016/09/21 Javascript
详解axios 全攻略之基本介绍与使用(GET 与 POST)
2017/09/15 Javascript
iview日期控件,双向绑定日期格式的方法
2018/03/15 Javascript
微信小程序实现图片上传放大预览删除代码
2020/06/28 Javascript
微信小程序实现批量倒计时功能
2020/11/01 Javascript
jQuery pager.js 插件动态分页功能实例分析
2019/08/02 jQuery
React传值 组件传值 之间的关系详解
2019/08/26 Javascript
新手入门js闭包学习过程解析
2019/10/08 Javascript
js实现数据导出为EXCEL(支持大量数据导出)
2020/03/31 Javascript
详解JavaScript匿名函数和闭包
2020/07/10 Javascript
[02:07]DOTA2新英雄展现中国元素,完美“圣典”亮相央视
2016/12/19 DOTA
跟老齐学Python之用while来循环
2014/10/02 Python
在Python中使用mechanize模块模拟浏览器功能
2015/05/05 Python
python学生信息管理系统
2018/03/13 Python
使用 Python 清理收藏夹里已失效的网站
2019/12/03 Python
python保存log日志,实现用log日志画图
2019/12/24 Python
使用Python脚本从文件读取数据代码实例
2020/01/19 Python
python中if嵌套命令实例讲解
2021/02/25 Python
纯CSS3编写的的精美动画进度条(无flash/无图像/无脚本/附源码)
2013/01/07 HTML / CSS
美国波西米亚风格精品店:South Moon Under
2019/10/26 全球购物
学校宣传标语
2014/06/18 职场文书
求职意向书
2014/07/29 职场文书
创先争优活动承诺书
2014/08/30 职场文书
团组织推荐意见
2015/06/05 职场文书