在进行特征图可视化时,发现了一个函数运行之后输入图像的tensor的维度发生了变化,不能直接转化为numpy数据进行图像显示,这个函数是**.unsqueeze(0)** 下面贴出该函数运行过后tensor维度的变化截图:
运行前:

tensor的维度是(3,224,224)含义是3通道大小为224*224的图像转化为了一个tensor向量,运行如下语句后:

image_info = image_info.unsqueeze(0)

结果是:

这时输入的张量tensor维度比输入前多了一维,可以发现tensor后面的中括号[ ]多了一层,意味着输入前的那个张量在这里变成了某个列表的第0个元素,随着一个批次处理的图片数据增加,那这个列表就会有第1个、第2个,,,元素填充进去,总体组成一个张量进入网络进行处理,于是就实现了批处理的功能。这时torch.Size([batch size,in_channels,height,width])是它的内部参数。
当然 **.squeeze(0)**就是进行反操作,当你选中其中一个图片的tensor后进行反操作,该图片的tensor维度就会从4维降到3维,从而可以直接对该图片进行显示等处理操作,因为图像一般至多3维,不降维无法使用相关函数直接处理。

pytorch中Mini-batch批处理实现函数xx.unsqueeze(0)相关推荐

  1. 机器学习9:关于pytorch中的zero_grad()函数

    机器学习9:关于pytorch中的zero_grad()函数 本文参考了博客Pytorch 为什么每一轮batch需要设置optimizer.zero_grad. 1.zero_grad()函数的应用 ...

  2. Pytorch中tensor.view().permute().contiguous()函数理解

    Pytorch中tensor.view().permute().contiguous()函数理解 yolov3中有一行这样的代码,在此记录一下三个函数的含义 # 例子中batch_size为整型,le ...

  3. Pytorch中的Conv1d()和Conv2d()函数

    文章目录 一.Pytorch中的Conv1d()函数 二.Pytorch中的Conv2d()函数 三.Pytorch中的MaxPool1d()函数 四.pytorch中的MaxPool2d()函数 参 ...

  4. PyTorch中的循环神经网络RNN函数及词嵌入函数介绍

    一.pytroch中的RNN相关函数介绍 1.对于简单的RNN结构,有两种方式进行调用: 1.1 torch.nn.RNN():可以接收一个序列的输入,默认会传入全0的隐藏状态,也可以自己定义初始的隐 ...

  5. Pytorch中的Batch Normalization操作

    之前一直和小伙伴探讨batch normalization层的实现机理,作用在这里不谈,知乎上有一篇paper在讲这个,链接 这里只探究其具体运算过程,我们假设在网络中间经过某些卷积操作之后的输出的f ...

  6. pytorch中的expand()和expand_as()函数--扩展张量中某维数据的尺寸

    pytorch中的expand()和expand_as()函数 1.expand()函数: (1)函数功能: expand()函数的功能是用来扩展张量中某维数据的尺寸,它返回输入张量在某维扩展为更大尺 ...

  7. Pytorch中什么时候调用forward()函数

    Module类是nn模块里提供的一个模型构造类,是所有神经网络模块的基类,我们可以继承它来定义我们想要的模型.下面继承Module类构造本节开头提到的多层感知机.这里定义的MLP类重载了Module类 ...

  8. #简明深入# Python 中的 iteritems() 和 items() 函数以及Python2.0到Python3.0的感悟

    Python2.x中 iteritems()函数返回的是一个迭代器,而items() 返回的是一个带序号的列表,在for循环中用法是一样的.但是iteritems()函数因为返回的是迭代器更加节省内存 ...

  9. Pytorch中torchvision.datasets.ImageFolder报错:Found 0 files in subfolders of:XXX,完美解决!

    1.报错如下: RuntimeError: Found 0 files in subfolders of:XXX Supported extensions are: .jpg,.jpeg,.png,. ...

最新文章

  1. 【图像】jpg与jpeg的区别
  2. 微软拥抱开源,Win10为啥要引入真Linux4.X内核?
  3. 初学者指南:如何为Red Hat Process Automation Manager配置电子邮件服务任务
  4. java反射 获取属性_Java反射学习-3 - 反射获取属性,方法,构造器
  5. iPhone开发学习笔记005——使用XIB自定义一个UIView,然后将这个view添加到controller的view...
  6. 环境数据-全球中国土壤数据资源下载和提取教程
  7. 计算机视觉基础概念、运行原理和应用案例详解
  8. 阿里ICON图标,使用教程
  9. SOA介绍--什么是SOA?[转载]
  10. 2022年熔化焊接与热切割操作证考试题库及答案
  11. excel如何冻结表格行或者列
  12. 一线外包员工的生活经历
  13. html5正在加载数据,JSP如何做正在加载数据,请稍等...这样的提示页面 loding。。。...
  14. Mysql的问题 Row size too large
  15. Andriod Studio 线性布局(LinearLayout)
  16. 链表-1(链表理论基础、移除链表元素、设计链表翻转链表)
  17. 杭电计算机研究生复试题
  18. android魅族升级,Android8.0快来了,魅族手机终于要升级 7.0了!
  19. ros----键盘控制机器人(2)【键盘控制文件书写】
  20. Python删除中文标点符号的方法

热门文章

  1. Activiti 工作流会签开发设计思路
  2. 学习 python logging(1): 基本用法
  3. iOS开发UIResponder简介API
  4. 从零开始学_JavaScript_系列(四)——jquery(基础,选择器,触发条件,动画,回调函数)...
  5. JavaScript 总结几个提高性能知识点(转)
  6. 【SSH三框架】Hibernate基金会七:许多附属业务
  7. hibernate自带的注解和jpa注解的冠希
  8. 6月第二周中国五大顶级域名增2.4万 美国减6.8万
  9. 无法向会话状态服务器发出会话状态请求。
  10. 全国高校计算机课程教学系列报告会,西安交大承办2013年全国高校物理课程教学系列报告会...