引言:今天主要记录一下关于permute()函数的使用。
1.permute()函数
首先这个函数主要使用于维度转换,作用:按照指定的方式,对原数据进行排列,一般用于图像的通道数变换。(what?什么什么?没听明白?你说的是。。。)
再来:例子(我相信你喜欢)
概述:我们使用permute函数改变图像的维度顺序。(可能还有其它作用,待续吧!哈哈)
代码:
import cv2 import math import torch path=r'./a.jpg' img=cv2.imread(path) print(type(img),img.shape) #(1080, 1920, 3) tensor_img = torch.from_numpy(img).permute(2, 0, 1).unsqueeze(0).float() print(type(tensor_img),tensor_img.shape)
output:
<class 'numpy.ndarray'> (1080, 1920, 3)
<class 'torch.Tensor'> torch.Size([1, 3, 1080, 1920])解释:看到了吗?原来图像的维度顺序是 (1080, 1920, 3),但是经过permute函数后,就强制变为[*, 3, 1080, 1920],