Pytorch之permute函数:用于调换不同维度的顺序,BCHW -> NCHW

https://zhuanlan.zhihu.com/p/76583143

MY

这是F3 dataset.py文件里面的内容

举例子

这个博主讲的清楚 https://blog.csdn.net/qq_30468133/article/details/85074003

permute(多维数组,[维数的组合])

比如:

a=rand(2,3,4);  %这是一个三维数组,各维的长度分别为:2,3,4

%现在交换第一维和第二维:

permute(A,[2,1,3])  %变成3*2*4的矩阵

import torch
import numpy    as np
 
a=np.array([[[1,2,3],[4,5,6]]])
 
 
unpermuted=torch.tensor(a)  #转化为tensor

print(unpermuted.size())  #  ——>  torch.Size([1, 2, 3])
 
tensor([[[1., 4.],
        [2., 5.],
        [3., 6.]]])
 
 
permuted=unpermuted.permute(2,0,1)

print(permuted.size())     #  ——>  torch.Size([3, 1, 2])
 
 
tensor([[[1., 2.],
         [3., 4.],
         [5., 6.]]])

torch中permute   与 numpy中transepose的区别

转换效果一样,只不过transpose是对np操作,permute是对tensor操作

https://blog.csdn.net/qq_34806812/article/details/89385831

import torch
import numpy as np

a = np.arange(24).reshape(3,4,2)
print('before', a)

b = np.transpose(a,(1,0,2))
print('b',b)

c = torch.tensor(a)
d = c.permute(1,0,2)
print('d:',d)

输出

/usr/bin/python3 /home/thu/test_python/transpose_permute.py
before [[[ 0  1]
  [ 2  3]
  [ 4  5]
  [ 6  7]]
 
 [[ 8  9]
  [10 11]
  [12 13]
  [14 15]]
 
 [[16 17]
  [18 19]
  [20 21]
  [22 23]]]
b [[[ 0  1]
  [ 8  9]
  [16 17]]
 
 [[ 2  3]
  [10 11]
  [18 19]]
 
 [[ 4  5]
  [12 13]
  [20 21]]
 
 [[ 6  7]
  [14 15]
  [22 23]]]
d: tensor([[[ 0,  1],
         [ 8,  9],
         [16, 17]],
 
        [[ 2,  3],
         [10, 11],
         [18, 19]],
 
        [[ 4,  5],
         [12, 13],
         [20, 21]],
 
        [[ 6,  7],
         [14, 15],
         [22, 23]]])
 
Process finished with exit code 0

 

  • 1
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
### 回答1: pytorch 0.4.0版本与cudatoolkit 9兼容。cudatoolkit是一个用于深度学习和科学计算的加速库,它提供了与NVIDIA GPU一起使用的工具和库。pytorch 0.4.0版本要求使用cudatoolkit 9或更高版本来发挥最佳性能。 另外,pytorch 0.4.0版本也要求使用mkl(Math Kernel Library)的2018或更高版本。mkl是针对数值计算优化的数学函数库,它提供高性能的数学函数和线性代数运算,可以加速深度学习算法的计算过程。 通过将pytorch 0.4.0与cudatoolkit 9和mkl 2018或更高版本进行匹配,可以利用GPU加速深度学习任务,并且使用高性能的数学函数库来提高计算效率。这些更新和要求可以提供更好的训练和推断性能,使得深度学习的计算更加高效和快速。因此,在使用pytorch 0.4.0版本时,务必安装和配置正确的cudatoolkit和mkl版本以获得最佳的性能和功能。 ### 回答2: PyTorch 0.4.0版本要求的依赖为Cuda Toolkit 9及以上版本和MKL 2018及以上版本。 Cuda Toolkit是NVIDIA提供的用于支持GPU加速的工具集。PyTorch使用了Cuda来充分发挥GPU的计算能力,提高模型训练和推理的速度。因此,安装PyTorch 0.4.0版本时需要安装Cuda Toolkit 9及以上版本。 MKL(Math Kernel Library)是Intel提供的数学库,具有高性能的线性代数、FFT和随机数生成等功能。在PyTorch中,MKL用于加速模型的数值计算。版本2018及以上的MKL提供了更好的性能和稳定性。因此,安装PyTorch 0.4.0版本时需要安装MKL 2018及以上版本。 通过安装Cuda Toolkit和MKL,可以使PyTorch在GPU上充分利用并行计算和高效的数学库,提高模型的训练和推理速度。 ### 回答3: pytorch 0.4.0版本在安装时有两种依赖方式可以选择:cudatoolkit 9.* 和mkl >=2018。 首先,cudatoolkit是用于支持GPU加速的工具包,版本9.*表示使用任何9.x版本的cudatoolkit都可以。如果你希望在安装pytorch时开启GPU加速,需要先安装对应版本的cudatoolkit。 其次,mkl是Intel提供的数学库,可以提升计算效率。在安装pytorch时,通过指定mkl >=2018依赖,可以确保安装的pytorch版本能够充分利用mkl库的功能。 综上所述,当你安装pytorch 0.4.0*版本时,可以根据你的需求选择安装cudatoolkit 9.*或者mkl >=2018。如果你需要GPU加速,选择安装对应版本的cudatoolkit;如果你需要提升计算效率,安装最新版本的mkl库。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

计算机视觉-Archer

图像分割没有团队的同学可加群

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值