Python 以可并行化的方式在子张量上应用函数(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中看到类似的东西。

假设我有一个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中看到类似的东西。

我认为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工作得这么慢?