当它们具有相同的图形深度时,如何并行运行多个 pytorch 层?

问题描述

实施 this paper (ROCKET),我最终得到了 this code,它有效。

我对它的主要问题是总结如何并行运行多个 pytorch 层,当它们具有相同的图形深度时?

在论文中,对同一输入使用具有不同(随机化)参数的 10000 个卷积来创建 10000 个对应的特征图,在这些特征图上使用简单的特征提取器。

实现这个简化为

class MyModel(pl.LightningModule):
    def __init__(self):
        ...
        num_kernels = 10000
        for _ in range(num_kernels):       
            self.convs[_] = nn.Conv1d(...)


    def forward(...):
          for i,layer in enumerate(self.convs):
              res = layer(data)

这只是运行一个 Pythonic 10000-for 循环,每次迭代运行其对应的卷积

如何利用 Pytorch 高效地运行这 10000 个卷积,而无需等待每个卷积结束后再调度下一个

这也适用于任何非全序列 Pytorch 模型。

解决方法

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

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

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