如何解决将具有多个可变维度的数据输入到LSTM
我的数据的形状为batch_size * num_paths * num_edges * emb_dim
。在这里:
-
batch_size
:指批次大小(32) -
num_paths
:是指依赖性树中两个给定术语之间的路径编号 -
num_edges
:指的是特定路径中的边数 -
emb_dim
:是指嵌入尺寸(300)
num_paths
和num_edges
对于每个训练样本都是变量。换句话说,对于每个训练样本,路径可能会变化,每个路径的边数也会变化。
(请注意,data
是本机Python中n-d个列表的列表,因为两个维度(num_paths
和num_edges
)是可变的。)
我想将每个训练实例的每个路径作为输入传递给LSTM,因为路径是一系列边沿,并且我希望在将路径传递通过LSTM之后得到结果路径表示形式。在训练示例中获得了每条路径的表示形式之后,我想取所有这些表示形式的总和。
我知道我可以通过pack_padded_sequence
包装可变数量的边缘。但是可变数量的路径呢?我该如何处理?有没有办法在本地Pytorch中做到这一点,而不必寻求诸如遍历循环之类的混乱解决方案?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。