File "/home/a609/workspace/csy21/cmal_mscam/train_mscam_loss.py", line 356, in <module> train(nb_epoch=200, # number of epoch File "/home/a609/workspace/csy21/cmal_mscam/train_mscam_loss.py", line 218, in train _, top_idx = torch.topk(attention_weights.squeeze(), tops) File "/home/a609/anaconda3/envs/fertorch/lib/python3.8/site-packages/torch/nn/modules/module.py", line 1177, in __getattr__ raise AttributeError("'{}' object has no attribute '{}'".format( AttributeError: 'Sequential' object has no attribute 'squeeze'
时间: 2023-12-22 07:04:40 浏览: 185
这个错误是因为你在 `train_mscam_loss.py` 文件的第 356 行中调用了 `attention_weights.squeeze()` 方法,但是`attention_weights` 对象是一个 `Sequential` 对象,该对象没有 `squeeze` 属性或方法。
`squeeze` 方法用于从张量中删除尺寸为 1 的维度。请确保你正在正确地使用 `squeeze` 方法,或者检查一下你的代码中是否有其他地方导致了该错误。根据提供的代码片段,问题可能出现在 `train_mscam_loss.py` 文件的第 218 行,当你尝试调用 `torch.topk` 方法时。
请检查你的代码逻辑并确保在调用 `squeeze` 方法之前,`attention_weights` 对象是一个张量。如果需要进一步的帮助,请提供更多的代码片段或上下文信息。
阅读全文