微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

pytorch中两个特征图的点积

如何解决pytorch中两个特征图的点积

我有两个 CNN 分割模型(1D 和 2D 模型),它们有大约 10 个卷积层。两个模型的输入大小分别为[1,64](1D)和[1,128,128](2D)。现在有元数据可以帮助我的模型更好地工作,其大小为 [31,64] (1D) 和 [31,128] (2D)。我想在第 5 个 Conv 层之后将此元数据融合到 CNN 模型中。我使用的批量大小为 16。现在在特征图的第 5 个转换层大小之后是 [16,256,64] (1D) 和 [16,128] (2D)。我有两种方法可以将此元数据融合到 CNN 模型中。

首先:我将我的特征图与元数据连接起来,得到一个融合了 [16,287,64][16,128] 的特征图。这工作得很好

第二:我想利用特征图和元数据之间的点积。但是一维的 [16,31,64] 和二维的 [16,128][16,128] 的大小与点积不兼容。现在即使我将特征图与另一个Conv层一起传递,并将新的特征图制作为与元数据大小相似的[16,64][16,128],它仍然不兼容。

那么有人可以帮助我了解如何通过点积完成这种融合吗?

featuremap1d = torch.randn(16,64).type(torch.float32)
Metadata1d = torch.randint(0,2,(16,64)).type(torch.float32)

featuremap2d = torch.randn(16,128).type(torch.float32)
Metadata2d = torch.randint(0,128)).type(torch.float32)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?