将具有多个可变维度的数据输入到LSTM

问题描述

我的数据的形状为batch_size * num_paths * num_edges * emb_dim在这里

  • batch_size:指批次大小(32)
  • num_paths:是指依赖性树中两个给定术语之间的路径编号
  • num_edges:指的是特定路径中的边数
  • emb_dim:是指嵌入尺寸(300)

num_pathsnum_edges对于每个训练样本都是变量。换句话说,对于每个训练样本,路径可能会变化,每个路径的边数也会变化。

(请注意,data是本机Python中n-d个列表的列表,因为两个维度(num_pathsnum_edges)是可变的。)

我想将每个训练实例的每个路径作为输入传递给LSTM,因为路径是一系列边沿,并且我希望在将路径传递通过LSTM之后得到结果路径表示形式。在训练示例中获得了每条路径的表示形式之后,我想取所有这些表示形式的总和。

我知道我可以通过pack_padded_sequence包装可变数量的边缘。但是可变数量的路径呢?我该如何处理?有没有办法在本地Pytorch中做到这一点,而不必寻求诸如遍历循环之类的混乱解决方案?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)