pytorch TransformerEncoderLayer是否有不确定的随机输出?

vc9ivgsu  于 2023-10-20  发布在  其他
关注(0)|答案(1)|浏览(104)
import torch
from torch import nn
class MyModel(nn.Module):
    def __init__(self):
        super().__init__()
        self.encoder_layer = nn.TransformerEncoderLayer(d_model=1, nhead=1, dim_feedforward=2)
        self.trans = nn.TransformerEncoder(self.encoder_layer, num_layers=1)
    def forward(self, x):
        y = self.trans(x)
        return y
model = MyModel()
model.eval()
x = torch.tensor([[1.],[1.]])
model(x)

我有一个只有一个编码器层的模型。我将模型设置为求值,每次运行推理都会得到不同的输出。为什么?为什么?

4smxwvx5

4smxwvx51#

我忘记了权重初始化是随机的,需要通过设置种子来修复。

相关问题