根据你的代码,输出outputs确实包含所有层的输出张量,而不仅仅是最后一层的输出张量。这可能是因为在你的forward方法中,你使用了layer_output_list来存储每一层的输出张量,并将其附加到layer_output_list列表中。但是,你没有在函数的最后检查return_all_layers的值,以确定是否应该仅返回最后一层的输出张量。因此,当return_all_layers为False时,你仍然返回了所有层的输出张量。要修复这个问题,可以在函数的末尾添加以下代码:

if not self.return_all_layers: layer_output_list = layer_output_list[-1:] outputs = layer_output_list[0]

这将仅返回最后一层的输出张量。

这是我的代码 ConvLSTM定义的return_all_layers=False 因此layer_output_list 和 last_state_list 列表只包含最后一层的输出和状态张量对吗可为什么我模型的输出outputs打印出来是这样的tensor-00051 -00089 -00063 -00131 -00084 -00074 -00051 -000

原文地址: https://www.cveoy.top/t/topic/breF 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录