Python 以可并行化的方式在子张量上应用函数(Pytorch)
假设我有一个Pytorch函数Python 以可并行化的方式在子张量上应用函数(Pytorch),python,parallel-processing,pytorch,Python,Parallel Processing,Pytorch,假设我有一个Pytorch函数f,它可以应用于形状张量shape\u in=(d1,…,dn),并返回形状张量shape\u out。现在我有一个张量T的形状(其他形状,形状=b1,…,bm,d1,…,dn)。如何将f应用于T以可并行化的方式返回形状张量(other\u shape,shape\u out)?我不认为仅仅在形状张量的所有元素上循环是最佳的,因为计算可能是按顺序进行的(这是正确的吗?)。我认为Tensorflow中的map\u fn确实如此,但我还没有在torch中看到类似的东西。
f
,它可以应用于形状张量shape\u in=(d1,…,dn)
,并返回形状张量shape\u out
。现在我有一个张量T
的形状(其他形状,形状=b1,…,bm,d1,…,dn)
。如何将f
应用于T
以可并行化的方式返回形状张量(other\u shape,shape\u out)
?我不认为仅仅在形状张量的所有元素上循环是最佳的,因为计算可能是按顺序进行的(这是正确的吗?)。我认为Tensorflow中的map\u fn
确实如此,但我还没有在torch中看到类似的东西。我认为PyTorch没有Tensorflow中的map\u fn
那样的东西,根据我们的研究,它似乎没有那么有效。任何矢量化版本都是更好的选择,但没有通用版本,因此这取决于函数f
的功能。从你给出的例子来看,这看起来像一个矩阵乘法(),因为将一个m x n与一个n x p矩阵相乘会得到一个m x p矩阵。有没有理由不存在一种将函数应用于子传感器的通用方法(除了向量化,这通常是棘手或不可能的)?类似numpy.apply_的内容沿_轴应用。为什么map_fn工作得这么慢?我不认为PyTorch有TensorFlow的map_fn
,根据我们的研究,它似乎没有那么有效。任何矢量化版本都是更好的选择,但没有通用版本,因此这取决于函数f
的功能。从你给出的例子来看,这看起来像一个矩阵乘法(),因为将一个m x n与一个n x p矩阵相乘会得到一个m x p矩阵。有没有理由不存在一种将函数应用于子传感器的通用方法(除了向量化,这通常是棘手或不可能的)?类似numpy.apply_的内容沿_轴应用。为什么map_fn工作得这么慢?