python - 连接来自两种不同输入模态的两个不同形状的张量

标签 python machine-learning deep-learning pytorch concatenation

我有两个张量:

a = torch.randn((1, 30, 1220)) # represents text embedding vector (30 spans, each with embedding size of 1220)
b = torch.randn((1, 128, 256)) # represents image features obtained from a pretrained CNN (object detection)
  1. 如何将 b 中的所有内容连接到 a 的 30 个跨度中的每一个?

  2. 如何将整个b连接到整个a

这就是我正在尝试做的事情:

Image features concatenated with LSTM output

作者仅提供了以下文字:

Model description

我正在从 3d 点云(类似于 CNN,但适用于 3d)中提取特征(以红色框出),如下所示:

3D Feature Extraction

最佳答案

您想要组合两个具有不同形状的张量,没有简单的方法可以连接它们。两个张量都保存有关同一实例的信息:您想要通过两种不同模式(文本和视觉)使用特征嵌入来表征的元素。

对我来说唯一有意义的方法是学习两个单独的层,将文本嵌入和图像特征映射到一个可以轻松融合它们的公共(public)空间。

您为此映射采用的设计完全取决于您。当然,这个映射层需要通过训练来学习,即在另一端应用某种监督。

关于python - 连接来自两种不同输入模态的两个不同形状的张量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69036172/

相关文章:

python - Deep-Learning Nan loss 原因

machine-learning - 深度学习和传统的人工神经网络机器学习有什么区别?

python - Pandas 操纵: Non-distinct groups

python - sympy 中的索引对象到底是什么?

python regex - 如何拆分日期模式上的字符串 - 仅保留日期模式第二次出现后的值

python - 与 Keras 的交叉验证如何适合?

python - python 内置垃圾收集 - 总和

algorithm - 为什么runtime要构造一个决策树mnlog(n)?

machine-learning - Mask RCNN,如何修改 2 个类的气球示例中的 load_mask 代码

R 深网包 : how to add more hidden layers to my neural network?