Transformer 在训练期间工作完美,而在推理中工作得很糟糕?

Transformer works perfectly during training while works terrible in inference?

提问人:mrghafari 提问时间:11/6/2023 更新时间:11/6/2023 访问量:21

问:

我在我的架构中添加了三层转换器,任务是压缩。训练验证和损失在训练期间工作得很好,而在推理过程中,情况很糟糕,准确性显着下降。我不确定这是否与过拟合有关,但情节至少没有显示(如果我没错的话)。变压器怎么可能在训练期间工作得很好,但在推理过程中工作得很糟糕?

class Transformer(nn.Module):
            """ transformer"""
            def __init__(self, in_dim):
                super(Transformer, self).__init__()
                self.pooling = ME.MinkowskiAvgPooling(kernel_size=3,stride=3,dimension=3)
                self.linear = ME.MinkowskiLinear(in_dim,in_dim)
                self.relu = ME.MinkowskiReLU(inplace=True)
                self.convmlp = ME.MinkowskiConvolution(in_dim,in_dim,kernel_size=1,stride=1,bias=True,dimension=3)
                
            def forward(self, x):

                x = x + self.relu(self.linear(self.pooling(x)))
                x = x + self.relu(self.convmlp(x))
                return x

enter image description here

PyTorch 压缩 转换器模型

评论

0赞 Karl 11/7/2023
您需要确定问题是模型本身,还是测试集与推理数据之间的差异
0赞 mrghafari 11/7/2023
@Karl,如果问题出在模型本身,为什么它在训练过程中没有表现出来?

答: 暂无答案