解决AttributeError: ‘builtin_function_or_method‘ has no object ‘xxx‘

问题原因

出该问题一般来说需要检查方法使用是否正确,大部分情况下需要检查自己所写的方法或函数是否遗漏了括号。

以'builtin_function_or_method' has no object 'view'为例

错误代码如下:

attn_out = attn_out.transpose(0, 1).contiguous.view(tgt_len, bsz, embed_dim)

该代码的目的是先将attn_out的0轴和1轴交换,然后把其维度转变为[tgt_len, bsz, embed_dim]

此处错误的原因就是contiguous方法遗漏了括号。

解决方法

更改为如下代码

attn_out = attn_out.transpose(0, 1).contiguous().view(tgt_len, bsz, embed_dim)

需要注意本处只是以view为例,其它函数和方法如此报错,也需要先用同样地方法进行检查更改。

你可能感兴趣的:(python,python)