AttributeError: ‘tuple‘ object has no attribute ‘shape‘

问题描述

调用.shape函数时报错AttributeError: 'tuple' object has no attribute 'shape':

错误代码:

a=torch.randn(50,10,128)
b=torch.randn(50,10,128)
c=torch.randn(50,10,128)
MultiHeadAttention=MultiHeadAttention(model_dim=128, num_heads=4, dropout=0.0)
y=MultiHeadAttention(a,b,c)
print(y.shape)

原因分析:

发现调用的MultiHeadAttention()模型return两个值:

return output, attention

直接用“y=”使得输出两个参数,类型变成'tuple',实际是只需要output的输出


解决方案:

改成:

y,_=MultiHeadAttention(a,b,c)

这样输出就return里的output,就能输出y的数据类型

你可能感兴趣的:(python,深度学习,机器学习)