概述
引言:今天主要记录一下关于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],* 我们可以忽略,重点是维度顺序发生变化。
2.torch.from_numpy(x)函数
作用:就是使numpy类型数组转换为tensor数据类型。
一般使用此函数一般是使用numpy类型,cv2方式打开图像,因为此方式打开图像是numpy类型数据,而使用Image.open()函数打开会,是JpegImageFile类型,这样是不支持使用torch.from_numpy(x)函数转换为张量形式,必须将其转化。
img = np.asarray(img)#转化numpy数据类型
#
2.结束
GAME OVER
如果理解错误,欢迎大家批评,及时纠正小琼的错误哦,真心感谢你的纠正!!!
如果小伙伴梦有疑问欢迎在评论区留言哦!!!
如果感觉不错的话!点个赞呗,不用客气!(O(∩_∩)O哈哈~)
欢迎和小伙伴梦一起学习,共同努力,加油!!!
小琼独家所有
扫码有惊喜!!!
最后
以上就是粗心睫毛为你收集整理的torch.from_numpy().permute()函数《pytorch学习篇》的全部内容,希望文章能够帮你解决torch.from_numpy().permute()函数《pytorch学习篇》所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复