pytorch查看通道数 维数 尺寸大小方式


Posted in Python onMay 26, 2020

查看tensor

x.shape # 尺寸
x.size() # 形状
x.ndim # 维数

例如

import torch
parser = argparse.ArgumentParser(description='PyTorch')
parser.add_argument('--img_w', default=144, type=int, metavar='imgw', help='img width')
parser.add_argument('--img_h', default=288, type=int, metavar='imgh', help='img height')
parser.add_argument('--batch-size', default=32, type=int,metavar='B', help='training batch size')
parser.add_argument('--test-batch', default=64, type=int, metavar='tb', help='testing batch size')
 
class net(nn.Module):
 def __init__(self, arch='resnet18'):
 super(net, self).__init__()
 model_ft = models.resnet50(pretrained=True)
 self.visible = model_ft
 
 def forward(self, x):
 print(x.shape)
 print(x.size())
 print(x.ndim)
 
 input = self.visible.conv1(x)
 
 print(input.shape)
 print(input.size())
 print(input.ndim)

pytorch查看通道数 维数 尺寸大小方式

从左至右起,32表示训练集batch_size大小,3是图像通道数,288是图像高度,144是图像宽度,图像尺寸 288*144,维度个数是4。很多博客在介绍论文时候,没有准确表达这些参数名称,往往出现张冠李戴,导致读者后续使用过程中被老师ma

经过标准resnet50第一层卷积后,结果是:32表示训练集batch_size大小,64是图像通道数,72是图像高度,36是图像宽度,图像尺寸72*36,维数是4

补充知识:pytorch中与维度/变换相关的几个函数

torch.size ()

先说torch.size()函数,因为后面的方法都会用这个方法看到变换后的矩阵的维度

通过该方法,可以查看当前Tensor的维度,用法也很简单:

>>>import torch
>>>a = torch.Tensor([[[1, 2, 3], [4, 5, 6]]])
>>>a.size()
torch.Size([1, 2, 3])

torch.view()

官方文档中的解释:

pytorch查看通道数 维数 尺寸大小方式

简单说,把原本的tensor尺寸,转变为你想要的尺寸,例如原尺寸为23,现在可以转为32或16等,但一定要保证等式成立,不能目标尺寸为33

此外,也可以设其中一个尺寸为-1,表示机器内部自己计算,但同时只能有一个为-1,用法如下:

>>> b=a.view(-1, 3, 2)
>>> b
tensor([[[1., 2.],
  [3., 4.],
  [5., 6.]]])
>>> b.size()
torch.Size([1, 3, 2])

torch.squeeze() / torch.unsqueeze()

torch.squeeze(n)函数表示压缩tensor中第n维为1的维数,比如下面第一个,b.squeeze(2).size(),原始的b为上面的torch.Size([1, 3, 2]),第二维是2≠1,所以不压缩,尺寸保持不变;而若b.squeeze(0).size(),则发现第一维为1,因此压缩为3x2的tensor

>>> b.squeeze(2).size()
torch.Size([1, 3, 2])
>>> b.squeeze(0).size()
torch.Size([3, 2])

相反的,torch.unsqueeze(n)则是在第n维增加一个维数=1,如下,表示在原始的b的第二维增加一维,则尺寸变为1 * 3 * 1 * 2

>>> b.unsqueeze(2).size()
torch.Size([1, 3, 1, 2])
>>> b.unsqueeze(2)
tensor([[[[1., 2.]],

  [[3., 4.]],

  [[5., 6.]]]])

torch.permute()

这个函数表示,将原始的tensor,按照自己期望的位置重新排序,例如原始tensor的第0、1、2维分别是1、3、2,那么当我执行permute(2, 0, 1),则将第三维放在最前,第一维放在中间,第二维放在最后,也就变成了2 * 1 * 3,注意这里表示的维数的index,而不是具体几维:

>>> b.permute(2, 0, 1).size()
torch.Size([2, 1, 3])
>>> b.permute(2, 0, 1)
tensor([[[1., 3., 5.]],

 [[2., 4., 6.]]])

暂时只想到这些,若有错误还请指正,或有其他相关函数,我也将持续更新。

以上这篇pytorch查看通道数 维数 尺寸大小方式就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python减少循环层次和缩进的技巧分析
Mar 15 Python
Python2.7简单连接与操作MySQL的方法
Apr 27 Python
python通过socket实现多个连接并实现ssh功能详解
Nov 08 Python
Queue 实现生产者消费者模型(实例讲解)
Nov 13 Python
Python 数值区间处理_对interval 库的快速入门详解
Nov 16 Python
pandas dataframe添加表格框线输出的方法
Feb 08 Python
python tools实现视频的每一帧提取并保存
Mar 20 Python
实例详解Python模块decimal
Jun 26 Python
对Django 中request.get和request.post的区别详解
Aug 12 Python
Django对models里的objects的使用详解
Aug 17 Python
Python django搭建layui提交表单,表格,图标的实例
Nov 18 Python
Django框架中间件定义与使用方法案例分析
Nov 28 Python
Pytorch 使用 nii数据做输入数据的操作
May 26 #Python
python变量的作用域是什么
May 26 #Python
Python3 pywin32模块安装的详细步骤
May 26 #Python
什么是python的列表推导式
May 26 #Python
python中列表的含义及用法
May 26 #Python
初学者学习Python好还是Java好
May 26 #Python
python函数map()和partial()的知识点总结
May 26 #Python
You might like
PHP Document 代码注释规范
2009/04/13 PHP
PHP 采集程序原理分析篇
2010/03/05 PHP
比较简单的百度网盘文件直链PHP代码
2013/03/24 PHP
解析php安全性问题中的:Null 字符问题
2013/06/21 PHP
Yii2组件之多图上传插件FileInput的详细使用教程
2016/06/20 PHP
用PHP的socket实现客户端到服务端的通信实例详解
2017/02/04 PHP
不错的新闻标题颜色效果
2006/12/10 Javascript
使用JS操作页面表格,元素的一些技巧
2007/02/02 Javascript
使用javascript获取页面名称
2014/12/23 Javascript
Bootstrap表单布局样式代码
2016/05/31 Javascript
基于JS快速实现导航下拉菜单动画效果附源码下载
2016/10/27 Javascript
AngularJs中Bootstrap3 datetimepicker使用实例
2016/12/13 Javascript
jQuery实现下拉菜单动态添加数据点击滑出收起其他功能
2018/06/14 jQuery
webpack+vue-cli项目中引入外部非模块格式js的方法
2018/09/28 Javascript
非常漂亮的js烟花效果
2020/03/10 Javascript
vue 页面跳转的实现方式
2021/01/12 Vue.js
python输出当前目录下index.html文件路径的方法
2015/04/28 Python
用Python实现斐波那契(Fibonacci)函数
2016/03/25 Python
详解从Django Rest Framework响应中删除空字段
2019/01/11 Python
python psutil监控进程实例
2019/12/17 Python
Python包,__init__.py功能与用法分析
2020/01/07 Python
Python selenium爬虫实现定时任务过程解析
2020/06/08 Python
使用Python实现音频双通道分离
2020/12/25 Python
selenium+超级鹰实现模拟登录12306
2021/01/24 Python
添柏岚英国官方网站:Timberland英国
2019/11/28 全球购物
英国运动服、设备及配件网站:DW Sports
2019/12/04 全球购物
大客户销售经理职责
2013/12/04 职场文书
语文教学感言
2014/02/06 职场文书
园艺师求职信
2014/03/10 职场文书
中秋节国旗下演讲稿
2014/09/05 职场文书
学校总务处领导干部个人对照检查材料思想汇报
2014/10/06 职场文书
2014年仓库管理工作总结
2014/12/17 职场文书
工作收入证明模板
2015/06/12 职场文书
辩论赛新闻稿
2015/07/17 职场文书
基于Nginx实现限制某IP短时间访问次数
2021/03/31 Servers
国产动画《万圣街》日语配音版制作决定!
2022/03/20 国漫