我有一个3D张量(sequence_length,batch_size,word_dim),我需要用" word_dim"进行matmul操作。维度,以便我可以将张量更改为(sequence_length,batch_size,hidden_dim)。似乎matmul操作只能用于2D张量。由于" batch_size"我无法将3D张量更改为2D。我该怎么办?
答案 0 :(得分:0)
我首先将您的Tensor重塑为(sequence_length * batch_size,word_dim),然后执行matmul以获取(sequence_length * batch_size,hidden_dim),然后再次重塑为获取(sequence_length,batch_size,hidden_dim)。 reshape()不涉及复制,如果你只有一个矩阵可以将它们相乘,这相当于将每个batch_size矩阵相乘。