浅谈pytorch中的dropout的概率p
最近需要训练一个模型,在优化模型时用了dropout函数,为了减少过拟合。
训练的时候用dropout,测试的时候不用dropout。刚开始以为p是保留神经元的比率,训练设置0.5,测试设置1,loss根本没减小过,全设置成1也是一样的效果,后来就考虑到是不是p设置错了。
上网一搜,果然是的!!!p的含义理解错了!不是保留的,而是不保留的!
具体的代码为:
x2 = F.dropout(x1, p)
x1是上一层网络的输出,p是需要删除的神经元的比例。
当p=0时,保留全部神经元更新。当p=1时,神经元输出的值都为0。
补充:Pytorch--Dropout笔记
dropout常常用于抑制过拟合,pytorch也提供了很方便的函数。但是经常不知道dropout的参数p是什么意思。
在TensorFlow中p叫做keep_prob,就一直以为pytorch中的p应该就是保留节点数的比例,但是实验结果发现反了,实际上表示的是不保留节点数的比例。
看下面的例子:
a = torch.randn(10,1)
>>> tensor([[ 0.0684],
[-0.2395],
[ 0.0785],
[-0.3815],
[-0.6080],
[-0.1690],
[ 1.0285],
[ 1.1213],
[ 0.5261],
[ 1.1664]])
p=0.5
torch.nn.Dropout(0.5)(a)
>>> tensor([[ 0.0000],
[-0.0000],
[ 0.0000],
[-0.7631],
[-0.0000],
[-0.0000],
[ 0.0000],
[ 0.0000],
[ 1.0521],
[ 2.3328]])
p=0
torch.nn.Dropout(0)(a)
>>> tensor([[ 0.0684],
[-0.2395],
[ 0.0785],
[-0.3815],
[-0.6080],
[-0.1690],
[ 1.0285],
[ 1.1213],
[ 0.5261],
[ 1.1664]])
p=1
torch.nn.Dropout(0)(a)
>>> tensor([[0.],
[-0.],
[0.],
[-0.],
[-0.],
[-0.],
[0.],
[0.],
[0.],
[0.]])
(资源库 www.zyku.net)
原文链接:https://blog.csdn.net/weixin_44125720/article/details/103117556
您可能感兴趣的文章
- 02-09PyTorch 如何自动计算梯度
- 02-09pytorch 实现计算 kl散度 F.kl_div()
- 02-09pytorch中LN(LayerNorm)及Relu和其变相的输出操作
- 02-09pytorch 实现多个Dataloader同时训练
- 02-09解决pytorch trainloader遇到的多进程问题
- 02-09Pytorch使用shuffle打乱数据的操作
- 02-08PyTorch梯度裁剪避免训练loss nan的操作
- 02-08我对PyTorch dataloader里的shuffle=True的理解
- 02-08浅谈pytorch中为什么要用 zero_grad() 将梯度清零
- 02-08pytorch DataLoader的num_workers参数与设置大小详解
- 02-08pytorch 带batch的tensor类型图像显示操作
- 02-08解决pytorch中的kl divergence计算问题
- 02-08pytorch 实现在测试的时候启用dropout
- 04-09使用pytorch实现线性回归
- 08-10快手直播电视投屏教程
- 01-11每个人的计时器-每个人的计时器应用软
- 01-12迷你记账本-迷你记账本应用软件功能介
- 12-26泰享家医-泰享家医应用软件功能介绍
- 01-11借书吧-借书吧应用软件功能介绍
- 02-23一加9开启连拍照片功能方法
最近更新
阅读排行
猜你喜欢
- 01-12成语快查-成语快查应用软件功能介绍
- 03-26帝国CMS搜索功能按表搜索和按栏目搜索
- 12-23米家摄像头共享给好友步骤介绍
- 07-05Linux fold命令
- 01-10荣耀x30i如何显示24小时制
- 11-26procreate pocket恢复示例作品方法介
- 12-14华为p50如何关闭高清通话
- 10-13腾讯vip自动续费怎么关
- 05-18网页头部的声明应该是用 lang=”zh”
- 12-04华为p50设置免打扰时间操作一览