Numpy 中的 dimshuffle 等效函数
dimshuffle equivalent function in Numpy
我经常用theano.tensor.dimshuffle
。 Numpy 是否有等效的函数?
我想我可以通过几个 numpy.swapaxes
和 numpy.newaxis
(对于广播维度)来做同样的事情,numpy.reshape
但是有没有更简单或更直接的方法,就像 dimshuffle
?
函数 numpy.transpose
允许对数组的轴进行任意排列。
品种array.T
是这个的特例,对应不带参数的array.transpose()
,默认为array.transpose(range(array.ndim)[::-1])
.
numpy.swapaxes
numpy.transpose
仅限于两个轴的排列。
theano.tensor.dimshuffle
本质上对应于 numpy.transpose
,但此外,它允许通过在应创建轴的位置添加 'x'
来创建长度为 1 的新轴用于广播。在 numpy 中,这可以使用 transpose
和 reshape
.
的组合来实现
请注意,在 numpy 中,尽可能注意 transpose
return 数据视图。在 theano 中也可能是这种情况,但可能取决于代码的优化方式。
我经常用theano.tensor.dimshuffle
。 Numpy 是否有等效的函数?
我想我可以通过几个 numpy.swapaxes
和 numpy.newaxis
(对于广播维度)来做同样的事情,numpy.reshape
但是有没有更简单或更直接的方法,就像 dimshuffle
?
函数 numpy.transpose
允许对数组的轴进行任意排列。
品种array.T
是这个的特例,对应不带参数的array.transpose()
,默认为array.transpose(range(array.ndim)[::-1])
.
numpy.swapaxes
numpy.transpose
仅限于两个轴的排列。
theano.tensor.dimshuffle
本质上对应于 numpy.transpose
,但此外,它允许通过在应创建轴的位置添加 'x'
来创建长度为 1 的新轴用于广播。在 numpy 中,这可以使用 transpose
和 reshape
.
请注意,在 numpy 中,尽可能注意 transpose
return 数据视图。在 theano 中也可能是这种情况,但可能取决于代码的优化方式。