我在pytorch中有两个预训练的模型,它们使用不同类型的输入数据。我使用这两个函数进行特征提取,并希望在最后将它们的输出连接起来,并将它们放入LSTM中。
我有以下输出:
型号A [batch size, num of features, num of frames]
型号B [batch size, num of features, num of frames, height, width]
我如何连接它们,以便我可以将连接的向量放入LSTM并训练它。我不知道如何做,使我的连接向量仍然“有意义”,不丢失任何信息。
2条答案
按热度按时间pxq42qpu1#
您可以调整第二个模型的输出向量,使新的要素数为
num of features x height x width
假设两个向量具有相同的批量大小和相同的帧数:首先,对两个输出向量重新排序,使顺序为
[batch size, num of frames, num of features, ...]
然后,在最后一个维度上连接:
现在,输出Tensor具有来自两个输出向量的所有特征,每个帧编号每个批次示例,这通常是有意义的
ycggw6v22#
@Yakov Dan的回答是正确的,这里是另一种方法:
ModelA
和ModelB
的输出整形为具有相同的帧数,模型A形状[批量大小,特征数量,帧数量]和
模型B具有形状[批量大小,特征数,帧数,高度,宽度]。
[batch size, num of features_A + num of features_B, num of frames]
的Tensor。