有没有办法在PyTorch中将输入并行地馈送到图层?

时间:2020-09-23 13:31:25

标签: python pytorch

我正在用PyTorch实现ELMo。我想在字矩阵上提供具有不同过滤器映射大小的ELMo的CNN,但我正在考虑一种有效的方法。这是我的代码:

# fill the empty tensor iteratively
batch_size = word.size(0)
y = torch.zeros(batch_size, self.kernel_dim)
 
cnt = 0

for kernel in self.kernels:
    temp = kernel(word)
    pooled = torch.max(temp, dim=2)[0]
    y[:, cnt:cnt+pooled.size(1)] = pooled
    cnt += pooled.size(1)

# Using torch.cat
y = []
for kernel in kernels:
    temp = kernel(a)
    y.append(torch.max(temp, dim=2)[0]) # max pooling
    y = torch.cat(y, dim=1)

我有两个问题。第一个是“是否有一种将输入并行传送到图层的方法?”。这使我避免了循环迭代,从而使我的代码更高效。第二个是“在使用torch.cat和填充空张量之间更快的一个。

0 个答案:

没有答案