.shape用法

在CNN中,我们在接入全连接层的时候,我们需要将提取出的特征图进行铺平,将特征图转换为一维向量。
这时候我们用到.view做一个resize的功能,用.shape来进行选择通道数。

我现在先说括号里的.shape()。
.shape()和.size()用法有点类似。
.shape[0]和.size(0)都是提取一维参量。
比如,
CNN特征图feature最终输出为(50,16,4,4)(B,C,H,W)
那么.shape[0]和.size(0)就是提取50(batch_size)这个数据。

.view()用法

比如,

a=torch.Tensor([[[1,2,3],[4,5,6]]])
b=torch.Tensor([1,2,3,4,5,6])print(a.view(1,6))
print(b.view(1,6))

得到的结果都是tensor([[1., 2., 3., 4., 5., 6.]])

a=torch.Tensor([[[1,2,3],[4,5,6]]])
print(a.view(3,2))

得到结果:tensor([[1., 2.],[3., 4.],[5., 6.]])

参数中的-1就代表这个位置由其他位置的数字来推断,只要在不致歧义的情况的下,view参数就可以推断出来,也就是人可以推断出形状的情况下,view函数也可以推断出来。比如a tensor的数据个数是6个,如果view(1,-1),我们就可以根据tensor的元素个数推断出-1代表6。

关于output = self.fc(feature.view(img.shape[0], -1))

就是子啊fc全连接之前,
比如最终生成(50,16,4,4)的特征图
我们将16张7*7特征图铺平为一个一维向量。因为batch_size设置为50. 那么img.shape[0]=50。
我们就生成了50 个 一位向量。输进全连接层。

CNN中.view()和.shape()用法总结相关推荐

  1. python中ndim是什么_Numpy中ndim、shape、dtype、astype的用法详解

    本文介绍numpy数组中这四个方法的区别ndim.shape.dtype.astype. 1.ndim ndim返回的是数组的维度,返回的只有一个数,该数即表示数组的维度. 2.shape shape ...

  2. cnn池化层输入通道数_(pytorch-深度学习系列)CNN中的池化层-学习笔记

    CNN中的池化层 首先,池化(pooling)层的提出是为了缓解卷积层对位置的过度敏感性. 什么意思? 比如在图像边缘检测问题中,实际图像里,我们的目标物体不会总出现在固定位置,即使我们连续拍摄同一个 ...

  3. (pytorch-深度学习系列)CNN中的池化层-学习笔记

    CNN中的池化层 首先,池化(pooling)层的提出是为了缓解卷积层对位置的过度敏感性. 什么意思? 比如在图像边缘检测问题中,实际图像里,我们的目标物体不会总出现在固定位置,即使我们连续拍摄同一个 ...

  4. CNN中的即插即用小模块汇总

    文章目录 前言 1 STN 2. ASPP 3. Non-local 4. SE 5. CBAM 6 DCN v1&v2 7 CoordConv 8 Ghost 9 BlurPool 10 R ...

  5. MVVM架构~knockoutjs系列之从Knockout.Validation.js源码中学习它的用法

    说在前 有时,我们在使用一个插件时,在网上即找不到它的相关API,这时,我们会很抓狂的,与其抓狂,还不如踏下心来,分析一下它的源码,事实上,对于JS这种开发语言来说,它开发的插件的使用方法都在它的源码 ...

  6. Spring MVC中Session的正确用法之我见02

    Spring MVC中Session的正确用法之我见 Spring MVC是个非常优秀的框架,其优秀之处继承自Spring本身依赖注入(Dependency Injection)的强大的模块化和可配置 ...

  7. php this指针的用法,C#_C#中this指针的用法示例,本文实例展示了C#中this指针的 - phpStudy...

    C#中this指针的用法示例 本文实例展示了C#中this指针的用法,对于初学者进一步牢固掌握C#有很大帮助,具体内容如下: 一.this指针是什么: 这里有一些面向对象编程的概念需要说明:类(Cla ...

  8. python中history()_keras中的History对象用法

    keras中的fit_generator和fit函数均返回History对象,那么History怎么用呢?事实上History对象已经记录了运行输出.在了解之前,我们甚至自己定义回调函数记录损失和准确 ...

  9. cnn stride and padding_彻底搞懂CNN中的卷积和反卷积

    前言 卷积和反卷积在CNN中经常被用到,想要彻底搞懂并不是那么容易.本文主要分三个部分来讲解卷积和反卷积,分别包括概念.工作过程.代码示例,其中代码实践部分主结合TensorFlow框架来进行实践.给 ...

最新文章

  1. 用实例揭示notify()和notifyAll()的本质区别
  2. 嵌入式视觉领域的机器学习
  3. IO Streams:缓冲流
  4. 为什么HashMap要树化呢?
  5. myrocks复制中断问题排查
  6. 计算机应用基础第二章,计算机应用基础第二章上机操作题
  7. Android的事件分发机制
  8. 对象字段java_Java的类,对象以及字段和方法
  9. window10安装黑苹果
  10. 我有一百种方法让你的Excel连上数据库
  11. 随机过程及其在金融领域中的应用 第二章 习题 及 答案
  12. 智能烟感与物联网卡可以了解一波
  13. 强大!HTML5 3D美女图片旋转实现教程
  14. Homekit智能开关/定时控制
  15. CVE-2022-28512 Fantastic Blog CMS 1.0 版本存在SQL注入漏洞
  16. 操作系统重点_重点:运动系统
  17. linux 设备树 otg,linux下充电IC OTG设备供电控制
  18. 苹果mac笔记本部分按键失灵怎么办,5连option键即可解决
  19. 何时使用领域驱动设计(DDD)
  20. win人工智能助手——小爱同学uwp版 (win10专属)

热门文章

  1. 制作统一样式的H5视频播放器
  2. python分组求和_如何对某一列自动分组,统计求和
  3. Python编程 条件判断语句
  4. 少儿python教学_如何教少儿学习Python编程
  5. 入门力扣自学笔记118 C++ (题目编号1413)
  6. 计算机毕设-学籍管理系统
  7. 微信账单怎么查?微信流水账单怎么打印
  8. [附源码]java毕业设计大学生兼职招聘网站
  9. 树莓派部署安装lnmp及可道云
  10. 带你实现电商商品同款识别算法