可以写一个最新版本的pytorch框架下的dropout层吗
时间: 2024-05-09 21:16:19 浏览: 85
当使用 PyTorch 框架时,可以通过使用 torch.nn.Dropout 类来添加 Dropout 层。以下是一个示例代码:
```python
import torch.nn as nn
class MyModel(nn.Module):
def __init__(self):
super(MyModel, self).__init__()
self.fc1 = nn.Linear(10, 5)
self.dropout = nn.Dropout(p=0.5)
self.fc2 = nn.Linear(5, 1)
def forward(self, x):
x = self.fc1(x)
x = nn.functional.relu(x)
x = self.dropout(x)
x = self.fc2(x)
return x
```
在这个例子中,我们定义了一个 MyModel 类,它包含一个线性层(fc1),一个 Dropout 层(dropout)和另一个线性层(fc2)。在 Dropout 层中,我们指定了概率 p=0.5,这意味着在训练期间,每个神经元在前向传递时都有 50% 的概率被随机丢弃。
在 forward 函数中,我们首先将输入 x 传递到第一个线性层 fc1 中,然后将其传递到 ReLU 激活函数中。接下来,我们将输出传递到 Dropout 层中,最后传递到第二个线性层 fc2 中。
阅读全文