Dropout
定义Dropout函数
import torch
from torch import nn
from d2l import torch as d2l
def dropout_layer(X, dropout):
assert 0 <= dropout <= 1
# 在本情况中,所有元素都被丢弃
if dropout == 1:
return torch.zeros_like(X)
# 在本情况中,所有元素都被保留
if dropout == 0:
return X
mask = (torch.rand(X.shape) > dropout).float()
return mask * X / (1.0 - dropout)
mask用来生成 0 或 1 的随机数。
mask * X / (1.0 - dropout) 用来保证期望不发生变化。
测试一下
X= torch.arange(16, dtype = torch.float32).reshape((2, 8

本文介绍了Dropout在深度学习中的作用,如何在PyTorch中定义并实现Dropout层,以及如何在模型中应用它以防止过拟合。通过实例展示了模型构建过程和不同dropout率的效果。
最低0.47元/天 解锁文章
1万+

被折叠的 条评论
为什么被折叠?



