问题标签 [dropout]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
6933 浏览

python - 在 PyTorch 中实现完全连接层的 dropout

如何在 Pytorch 中将 dropout 应用于以下全连接网络:

0 投票
1 回答
3254 浏览

keras - 在 Keras 的卷积层上使用 Dropout

我已经实现了一个对一维输入信号进行批量归一化的卷积神经网络。我的模型的准确率非常好,约为 80%。这是我层的顺序:(Conv1D,Batch,ReLU,MaxPooling)重复6次,Conv1D,Batch,ReLU,Dense,Softmax。

我看过几篇文章说我不应该在卷积层上使用 dropout,而是应该使用批量归一化,所以我想通过用 dropout 层替换所有批量归一化层来试验我的模型,看看 dropout 是否真的会提高我的表现更差。

我的新模型结构如下:(Conv1D, Dropout, ReLU, MaxPooling) repeat 6 times, Conv1D, Dropout, ReLU, Dense, Softmax。我尝试了 0.1、0.2、0.3、0.4、0.5 的辍学率。我的新模型的性能只有~25%,比我原来的模型差很多,甚至比预测主导类(~40%)还要差。

我想知道性能上的巨大差异是否实际上是用 dropout 代替批量标准化的结果。还是我对如何使用 dropout 的误解。

0 投票
1 回答
77 浏览

tensorflow - 如何在 Conv Layer 中使用 dropout 在 tensorflow 中删除激活图?

我正在尝试在卷积层中添加 dropout(尽管人们似乎不经常这样做)。

根据 cs231n,他们建议在所有激活图中删除激活图而不是单元(我认为这在某种程度上是有道理的,因为每个激活图都在不同位置提取相同的特征)。

在tensorflow中,我找不到任何API可以直接做到这一点,那我该怎么做呢?这是我第一次在 StackOverflow 中提出问题,我将感谢您的建议和答案。

0 投票
0 回答
21 浏览

tensorflow - 有没有办法保存应用的 Keras 辍学张量以供将来使用?

在我的 Keras CNN 中,我在推理过程中应用了 dropout 来测量一些不确定性。对于我的一个新想法,我需要能够知道网络中的哪些单元被关闭。所以,我希望能够保存或作为回调获取应用的 0 和 1 的 dropout 张量。我想知道这里是否有人可能知道这样做的方法。

非常感谢, 沃德

0 投票
1 回答
586 浏览

deep-learning - eval() 模式下的训练模型在 PyTorch 中提供更好的结果?

我有一个带有 Dropout 层的模型(p=0.6)。我最终以.eval()mode 训练模型并再次以 mode 训练模型.train(),我发现训练.eval()模式给了我更好的准确性和更快的训练数据损失减少,

train():火车损失:0.832,验证损失:0.821
eval():火车损失:0.323,验证损失:0.251

为什么会这样?

0 投票
2 回答
2534 浏览

python - 直接在 tensorflow 中的 Dropout 层:如何训练?

在 Keras 中创建模型后,我想获取渐变并使用 tf.train.AdamOptimizer 类直接在 Tensorflow 中应用它们。但是,由于我使用的是 Dropout 层,我不知道如何告诉模型它是否处于训练模式。不接受培训关键字。这是代码:

即使有 dropout ,我也会在有和没有 dropout 层的情况下得到相同的行为rate=1。如何解决这个问题?

0 投票
2 回答
1824 浏览

machine-learning - Keras:如何在训练和测试阶段使用 dropout?

是否可以在 Keras 的训练和测试阶段使用 dropout?

就像这里描述的: https ://github.com/soumith/ganhacks#17-use-dropouts-in-g-in-both-train-and-test-phase

0 投票
0 回答
125 浏览

python - 调用初始化的 tf.keras.Model 在模型内的 Dropout 层上给出尺寸不匹配

我正在尝试保存模型中包含 2 个 dropout 层的 TF Keras 模型(这是一个注意模型 - 第一个 dropout 用于注意权重,第二个用于该层的整体输出)。但是,当我使用此模型并使用 2 个参数调用它时,我收到一条错误消息,指出我的输入之间存在维度不匹配,我不确定这是从哪里来的。

我真的无法发布代码。我知道这有点含糊,但我可以在下面发布回溯。任何关于我应该考虑的检查/可能出错的建议将不胜感激。谢谢!

我的一般代码是:

错误:

编辑:修复了“代码”。我的意思是写model_inputs。我在这里发布的代码不是实际的代码,它只是有点相似。这很可能是我进行注意力权重计算的地方,但我不确定要寻找什么,因为代码有点长。谢谢!

0 投票
0 回答
3432 浏览

keras - 如何在 LSTM 网络 (Keras) 中使用 Dropout 和 BatchNormalization

我正在使用 LSTM 网络进行多变量多时间步长预测。所以基本上seq2seq预测将一些n_inputs输入到模型中以预测n_outputs时间序列的数量。

我的问题是如何有意义地应用DropoutBatchnNormalization因为这似乎是 Recurrent 和 LSTM 网络的一个高度讨论的话题。为了简单起见,让我们坚持使用 Keras 作为框架。

案例 1:香草 LSTM

  • Q1:不直接在 LSTM 层之后使用 BatchNormalization 是一种好习惯吗?
  • Q2:在 LSTM 层中使用 Dropout 是一种好习惯吗?
  • Q3:在密集层之间使用 BatchNormalization 和 Dropout 是好的做法吗?
  • Q4:如果我堆叠多个 LSTM 层,在它们之间使用 BatchNormalization 是个好主意吗?

案例 2:编码器解码器,如具有时间分布层的 LSTM

  • Q5:在层间使用时应该BatchNormalozationDropout包裹在里面,还是不用它们是正确的?TimeDistributedTimeDistributed(Dense())
  • Q6:可以或应该在编码器-解码器 LSTM 块之后、之前或之间应用批标准化吗?
  • Q7:如果将一个ConvLSTM2D层用作第一层(编码器),这会对 Dropout 和 BatchNormalization 的使用产生影响吗?

  • Q8:recurrent_dropout参数应该在 LSTM 块中使用吗?如果是,它应该与dropout示例中的普通参数结合使用,还是应该交换?非常感谢您!

0 投票
0 回答
126 浏览

tensorflow - TOCO 无法将 .pb 转换为 .tflite keras 的 ConverterError

我正在从 json 文件中加载一个 keras 模型,如下所示:

我的 keras 模型定义如下:

加载模型并将其转换为 .pb 格式后,我正在尝试将模型原型缓冲区转换为 tflite 模型,如下所示:

但我收到以下错误:

我试图做这样的事情:

但这似乎不起作用。

消除错误的任何想法。我看到了这一点,并试图将 Dropout 置于测试模式,但没有可行的选择。