Return to site

Permute 2 1 3

broken image


The shapes shouldn't be the same, if you index the tensor (the second one should be torch.Size(256) or the first one should have an additional dim0). Anyway, you cannot permute three axes, if your tensor just has two dimensions.

1 先看看官方中英文doc:

1.1 permute(dims)

将tensor的维度换位。

参数: - __dims__ (int .*) - 换位顺序

  • A typical combination lock for example, should technically be called a permutation lock by mathematical standards, since the order of the numbers entered is important; 1-2-9 is not the same as 2-9-1, whereas for a combination, any order of those three numbers would suffice.
  • The following are 30 code examples for showing how to use keras.layers.Permute.These examples are extracted from open source projects. You can vote up the ones you like or vote down the ones you don't like, and go to the original project or source file by following the links above each example.

例:

1.2 permute(*dims) → Tensor

Permute the dimensions of this tensor.

Parameters: *dims (int.) – The desired ordering of dimensions

Example:

2 pytorch permute的使用

Navicat download postgresql. permute函数功能还是比较简单的,下面主要介绍几个细节点: Camera on macbook pro 2017.

2.1 transpose与permute的异同

Tensor.permute(a,b,c,d, .):permute函数可以对任意高维矩阵进行转置,但没有 torch.permute() 这个调用方式, 只能 Tensor.permute():

torch.transpose(Tensor, a,b)transpose只能操作2D矩阵的转置,有两种调用方式;

另:连续使用transpose也可实现permute的效果

从以上操作中可知,permute相当于可以同时操作于tensor的若干维度,transpose只能同时作用于tensor的两个维度;

2.2 permute函数与contiguous、view函数之关联 https://soft-myi.mystrikingly.com/blog/klanghelm-dc8c-advanced-compressor-v3-0-0-download-free.

contiguous:view只能作用在contiguous的variable上,如果在view之前调用了transpose、permute等,就需要调用contiguous()来返回一个contiguous copy;

Permute 2 1 3

How to erase imac. Vidmore video converter 1 0 16 cm. 一种可能的解释是:有些tensor并不是占用一整块内存,而是由不同的数据块组成,而tensor的view()操作依赖于内存是整块的,这时只需要执行contiguous()这个函数,把tensor变成在内存中连续分布的形式;

判断ternsor是否为contiguous,可以调用torch.Tensor.is_contiguous()函数:

Permute(0 2 3 1)

Textexpander 4 3 5. 另:在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]]]) 转换成:

Permute 2 1 3 =

如果使用view(1,3,2) 可以得到:

Apple 10 8 free upgrade. 5 参考

Permute 2 1 3 0

发布于 2019-08-09




broken image