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]

 

 

 

  • 9
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值