1 先看看官方中英文doc:
1.1 permute(dims)
Permute 2 2 2 2 Login
2.2 permute函数与contiguous、view函数之关联. Contiguous:view只能作用在contiguous的variable上,如果在view之前调用了transpose、permute等,就需要调用contiguous来返回一个contiguous copy;. Stack Exchange network consists of 176 Q&A communities including Stack Overflow, the largest, most trusted online community for developers to learn, share their knowledge, and build their careers. The 'Left' and 'Right' halves of the table show which bits from the input key form the left and right sections of the key schedule state. Note that only 56 bits of the 64 bits of the input are selected; the remaining eight (8, 16, 24, 32, 40, 48, 56, 64) were specified for use as parity bits. Permuted choice 2 (PC-2).
将tensor的维度换位。
参数: - __dims__ (int .*) - 换位顺序
Permute 2 Mac Crack has the most simplicity, which allows you to easily convert your video files without any special knowledge. This Video conveter program supports almost all video formats. Permute 2.5 Crack Mac is a perfect example of what a Mac app should be. With a gorgeous interface and drag & drop simplicity no need for complicated options. Permute is also used to change the shape of the input using pattern. For example, if Permute with argument (2, 1) is applied to layer having input shape as (batchsize, 3, 2), then the output shape of the layer will be (batchsize, 2, 3). Permute has one argument as follows −. Keras.layers.Permute(dims) A simple example to use Permute layers is as follows −.
例:
1.2 permute(*dims) → Tensor
Permute Remotix 5 1 13. the dimensions of this tensor.
Parameters: *dims (int..) – The desired ordering of dimensions
Example:
2 pytorch permute的使用
permute函数功能还是比较简单的,下面主要介绍几个细节点:
2.1 transpose与permute的异同
Tensor.permute(a,b,c,d, ..):permute函数可以对任意高维矩阵进行转置,但没有 torch.permute() 这个调用方式, 只能 Tensor.permute():
torch.transpose(Tensor, a,b):transpose只能操作2D矩阵的转置,有两种调用方式; Dowload turbocollage 7 0 8 crack {mac os}.
另:连续使用transpose也可实现permute的效果:
从以上操作中可知,permute相当于可以同时操作于tensor的若干维度,transpose只能同时作用于tensor的两个维度;
2.2 permute函数与contiguous、view函数之关联
contiguous:view只能作用在contiguous的variable上,如果在view之前调用了transpose、permute等,就需要调用contiguous()来返回一个contiguous copy;
一种可能的解释是:有些tensor并不是占用一整块内存,而是由不同的数据块组成,而tensor的view()操作依赖于内存是整块的,这时只需要执行contiguous()这个函数,把tensor变成在内存中连续分布的形式; Together 3 3 7 1.
判断ternsor是否为contiguous,可以调用torch.Tensor.is_contiguous()函数:
另:在pytorch的最新版本0.4版本中,增加了torch.reshape(),与 numpy.reshape() 的功能类似,大致相当于 tensor.contiguous().view(),这样就省去了对tensor做view()变换前,调用contiguous()的麻烦;
3 permute与view函数功能demo
利用函数 permute(2,0,1) 可以把 Tensor([[[1,2,3],[4,5,6]]]) 转换成:
如果使用view(1,3,2) 可以得到:
Permute 2 2 2 2 Player Games
5 参考
Permute 2 2 2 2 16
发布于 2019-08-09