通俗理解tf.nn.conv2d() tf.nn.conv3d( )参数的含义 pytorhc 卷积
20210609
例如(3,3,(3,7,7))表示的是输入图像的通道数是3,输出图像的通道数是3,(3,7,7)表示过滤器每次处理3帧图像,卷积核的大小是3 x 7 x 7。
https://blog.csdn.net/gaoxiaoxue_/article/details/107978094
https://blog.csdn.net/weixin_42769131/article/details/104826953
https://www.jianshu.com/p/6e1ef63615f8
问题1:关于pytorch 3D 卷积函数:Conv3d
torch.nn.Conv3d(in_channels, out_channels, kernel_size, stride=1, padding=0, dilation=1, groups=1, bias=True)
3D卷积神经网络多用于高维度图像数据,例如N帧的视频,由于看参数比较抽象,一般人难以理解具体含义,因此,我以一段100帧视频为例,每帧视频为100010003的彩色图像,1000*1000为图像大小,3为图像的RGB 3个通道。
参数说明:
in_channels(int) – 输入信号的通道(解释:每帧图像的通道数,本例为3)
out_channels(int) – 卷积产生的通道(解释:对应于用了多少个卷积核,如果1个卷积核,就是1,如果输出20,那就是20个卷积核)
kernel_size(int or tuple) - 卷积核的尺寸
stride(int or tuple, optional) - 卷积步长(每次核移动的步长)stride=1 表示stride=(1,1,1),在三维方向上步长是1,在宽和高上步长也是1。
padding(int or tuple, optional) - 输入的每一条边补充0的层数(主要是对图像周围的数据如何处理)padding=0 表示padding=(0,0,0)表示在三维方向上不padding,在宽和高上也不padding。
dilation(int or tuple, optional) – 卷积核元素之间的间距
groups(int, optional) – 从输入通道到输出通道的阻塞连接数
bias(bool, optional) - 如果bias=True,添加偏置
例如(3,3,(3,7,7))表示的是输入图像的通道数是3,输出图像的通道数是3,(3,7,7)表示过滤器每次处理3帧图像,卷积核的大小是3 x 7 x 7
注意:3D卷积的输入是5维的tensor
三维卷积层, 输入数据的尺度是(N, C_in,D,H,W)
举例:(1,3,100,1000,1000)表示输入1个视频,每个视频中图像的通道数是3,每个视频中包含的图像数是100,图像的大小是1000 x 1000。
输出尺度(N,C_out,D_out,H_out,W_out)
1,10,100,1000,1000)表示输出1个视频,每个视频中图像的通道数是10,每个视频中包含的图像数是100,图像的大小是1000 x 1000。
(参考文献:Pytorch学习笔记15----nn.Conv2d与Conv3d参数理解、单通道与多通道卷积理解 - 雨后观山色 - 博客园)
问题2:3D 卷积核大小说明
3D卷积操作如图2所示,同样分为单通道和多通道,且只使用一个filter,输出一个channel。
其中,针对单通道,与2D卷积不同之处在于,输入图像多了一个 depth 维度,故输入大小为(1, depth, height, width),卷积核也多了一个k_d维度,因此卷积核在输入3D图像的空间维度(height和width维)和depth维度上均进行滑窗操作,每次滑窗与 (k_d, k_h, k_w) 窗口内的values进行相关操作,得到输出3D图像中的一个value。
针对多通道,输入大小为(多通道数, depth, height, width),则与2D卷积的操作一样,每次滑窗与多个channels上的 (k_d, k_h, k_w) 窗口内的所有values进行相关操作,得到输出3D图像中的一个value。
https://blog.csdn.net/g11d111/article/details/82665265
PyTorch学习笔记(9)——nn.Conv2d和其中的padding策略
通俗理解tf.nn.conv2d()参数的含义
首先以tensorflow中最常用的卷积神经网络为案例进行说明:
tf.nn.conv2d(input,filter,strides,padding,use_cudnn_on_gpu=True,data_format='NHWC',dilations=[1, 1, 1, 1],name=None)
首先input必须是一个四维的tensor,以28✖️28✖️1的图像为案例进行说明,首先需要转换为4维,需要加入图像样本的个数,假设为100张,变为[100,28,28,1],直观理解为100张 2828的只有一个通道的图片。
我们再来看filter,即卷积神经网络的滤波器,必须与input维度相同,[3,3,1,2],通俗理解为33的卷积核2个,只作用于1个通道,即input的最后一个参数和filter的倒数第二个参数是相同的。
第三个参数是stride,控制卷积核的移动步数,与上述两个参数相同,也是四维的,[1,1,1,1],其中第一个1和最后一个1是固定值,需要改变的是中间的两个数,即在x轴和y轴的移动步长。
第四个参数是padding,只有两个取值,'SAME'和'VALID',第一个是填充边界,第二个是当不足以移动时直接舍弃。
其他参数选择默认即可。
http://www.taodudu.cc/news/show-64118.html
相关文章:
- 矩阵的卷积核运算(一个简单小例子的讲解)深度学习
- 卷积神经网络之卷积计算、作用与思想 深度学习
- 卷积核输出特征图大小的计算 深度学习
- TensorFlow基础笔记(11) max_pool2D函数 深度学习
- 卷积池化计算 深度学习
- Python | 安装Jupyter Notebook及其目录的更改 jupyter问题
- LARS 算法简介-机器学习
- 内积和外积的物理意义-数学
- 使用余弦相似度算法计算文本相似度-数学
- 余弦相似和内积的意义? 区别
- python pandas 如何找到NaN、缺失值或者某些元素的索引名称以及位置,np.where的使用
- RuntimeError: Assertion cur_target 0 cur_target n_classes failed
- np.percentile()函数超详解 异常值极端值百分位四分位数
- Python 中 (,|)和(and,or)之间的区别 逻辑判断
- 快速访问github镜像 wiki镜像重点_github问题小结
- 样本不均衡问题
- SMOTE算法代码实现-机器学习
- 预见未来丨机器学习:未来十年研究热点
- 通俗理解条件熵-数学
- 群论中的拉格朗日定理(子群的阶必然能整除群阶---数学
- 数据耦合与控制耦合
- 各种优化算法公式快速回忆优化器-深度学习
- 一阶逻辑与二阶逻辑的区别一元谓词多元谓词
- 生成树计数Matrix-Tree定理-数学
- SQLALchemy之Python连接MySQL
- 行列式计算-数学
- 面向过程(或者叫结构化)分析方法与面向对象分析方法到底区别在哪里?
- 正则注意重点
- 正则体系1
- 正则体系2
通俗理解tf.nn.conv2d() tf.nn.conv3d( )参数的含义 pytorhc 卷积相关推荐
- tf.nn.conv2d() / tf.nn.depthwise_conv2d() 和 Batchsize效益
1. 卷积函数tf.nn.conv2d() tf.nn.conv2d(input, filter, strides, padding, use_cudnn_on_gpu=True, data_form ...
- pytorch笔记(四)nn.Conv1d、nn.Conv2d、nn.Conv3d
概念: nn.Conv1d:常用在文本 (B,C,L) (batch,channel,sequence_len) (批数量,通道数,句子长度) nn.Conv2d:常用在图像 (B,C,H,W) (b ...
- PyTorch学习笔记(1)nn.Sequential、nn.Conv2d、nn.BatchNorm2d、nn.ReLU和nn.MaxPool2d
文章目录 一.nn.Sequential 二.nn.Conv2d 三.nn.BatchNorm2d 四.nn.ReLU 五.nn.MaxPool2d 一.nn.Sequential torch.nn. ...
- PyTorch中 nn.Conv2d与nn.ConvTranspose2d函数的用法
原文链接 1. 通道数问题 : 描述一个像素点,如果是灰度,那么只需要一个数值来描述它,就是单通道.如果有RGB三种颜色来描述它,就是三通道.最初输入的图片样本的 channels ,取决于图片类型: ...
- TensorFlow学习笔记(十七)tf.nn.conv2d
在给定的4D input与filter下计算2D卷积输入shape为[batch, height, width, in_channels] TensorFlow的CNN代码中有 tf.nn.conv2 ...
- tf.nn.conv2d 与tf.layers.conv2d的区别
1. tf.nn.conv2d tf.nn.conv2d(input, # 张量输入filter, # 卷积核参数strides, # 步长参数padding, # 卷积方式use_cudnn_on_ ...
- tf.nn 和tf.layers以及tf.contrib.layers的简单区别(转)
tensorflow不同层的使用(tf.nn 和tf.layers以及tf.contrib.layers)的简单区别(转) 2018年09月02日 18:50:33 holmes_MX 版权声明:原创 ...
- tf代码之tf.nn.conv2d_transpose
摘自博客:https://blog.csdn.net/mao_xiao_feng/article/details/71713358 conv2d_transpose(value, filter, ou ...
- tensorflow学习(一)——有关tensorflow不同层的使用(tf.nn 和tf.layers以及tf.contrib.layers)的简单区别
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/holmes_MX/article/de ...
最新文章
- rgb红色范围_UI设计教程分享之RGB与CMYK色彩模式对比
- Logstash完成ELK集群
- 8086汇编 贪吃蛇 源代码
- shopping car 3.0
- 1716. 计算力扣银行的钱
- javaWeb项目之图书管理系统(附视频讲解)
- 《基于MFC的OpenGL编程》Part 8 Colors
- 计蒜客-跳跃游戏(贪心)
- 鸿蒙系统麒麟970芯片支持,受鸿蒙系统影响,众多华为手机或要说再见,包括麒麟970机型!...
- Linux入门学习(二) —— 怎么创建文件?怎么复制、剪切、删除文件?
- 设计稿750px 配置rem
- 计算机白板培训报道,学习电子白板心得体会
- Unity调用安卓文件管理器
- js后代选择器_后代选择器和子元素选择器的区别
- e3服务器性能怎么样,Inte至强 E3-1230 V3性能怎么样?跟 i7 相比呢?
- win7系统没有诊断策略服务器,Win7提示诊断策略服务未运行无法诊断检查网络解决方法...
- 武汉星起航:“短视频+电商”如何抓住用户“关键时刻”?
- 关于对《三只松鼠》网站的诊断报告
- 苹果交管局反馈信曝光 首次官方披露自动驾驶相关计划
- Angular 小专题:玩转注射器
热门文章
- 2022-2028年中国氟橡胶密封件行业市场研究及前瞻分析报告
- 【C#】枚举_结构体_数组
- LeetCode简单题之排列硬币
- MinkowskiEngine实用函数和类
- 固件安全性—防止内存损坏和注入攻击
- Linux内存技术分析(下)
- 【网站汇总】单片机常用通讯协议
- DCN-2655 同异步端口PPP (chap)认证
- android 根据时间获取时间对应的星期
- android.view.InflateException: Binary XML file line #8: Binary XML file line #8: Error inflating cl