pytorch中的tensor实现数据降维以及通道数转换

        首先导入torch包,利用torch.narrow()函数实现数据通道数转换,具体实例见下图

        利用torch.rand(5,6)随机生成一个5X6的二维矩阵,利用torch.narrow(x,dim,start,length)进行通道数转化,narrow()函数里第一个参数是你需要转换的原始数据,必须是tensor形式。第二个变量dim是你需要转换的具体维度。第三个变量为所选维度中的第几个通道为起点。第四个变量为保留的通道数个数。
   

      上例中torch.narrow(x,0,2,3),因x为5X6的二维tensor,由两个维度[0,1],0表示第一维,横向,1表示第二维,纵向;且第一维通道数为5,第二维通道数为6。narrow函数中dim=0,选择第一维;start=2表示从第一维的第二个通道开始,python中均是以0开始计数,即0.6467这一行向量为起始通道;length=3表示通道数为3,即从0.6467这一行向量向下保留3个通道,如下图。

 成功将第一维通道数减小至3。

如果在深度学习中图像处理中常遇到思维tensor,即x.shape=[9,3,256,256],3代表彩色图片RGB的三个通道数,如想实现降维操作,可将x的第二维的通道数3变为1,再使用x=torch.squeeze(x,dim=1)实现降维,降维后shape变为[9,256,256]

 

 

 

文章出处登录后可见!

已经登录?立即刷新

共计人评分,平均

到目前为止还没有投票!成为第一位评论此文章。

(0)
xiaoxingxing的头像xiaoxingxing管理团队
上一篇 2023年9月8日
下一篇 2023年9月8日

相关推荐