问题描述
我有两个 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 (将#修改为@)