我是靠谱客的博主 粗心睫毛,最近开发中收集的这篇文章主要介绍torch.from_numpy().permute()函数《pytorch学习篇》,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

引言:今天主要记录一下关于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学习篇》所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(78)

评论列表共有 0 条评论

立即
投稿
返回
顶部