Tensorflow中提供了tf.nn.conv2dtf.layers.conv2d用于添加卷积层,两者功能类似,后者为更高一级的api,和keras.layer类似。前者的激活函数需要另外代码,后者的激活函数是一个参数,不需要另外代码。

1. tf.nn.conv2d

tf.nn.conv2d(input,filter,strides,padding,use_cudnn_on_gpu=True,data_format='NHWC',dilations=[1, 1, 1, 1],name=None
)
  • input: 指需要做卷积的输入图像(tensor),具有[batch,in_height,in_width,in_channels]这样的4维shape,分别是图片数量、图片高度、图片宽度、图片通道数,数据类型为float32或float64。
  • filter: 相当于CNN中的卷积核,它是一个tensor,shape是[filter_height,filter_width,in_channels,out_channels]:滤波器高度、宽度、图像通道数、滤波器个数,数据类型和input相同。
  • strides: 卷积在每一维的步长,一般为一个一维向量,长度为4,一般为[1,stride,stride,1],第一个stride为行步长,第二个为列步长。
  • padding:定义元素边框和元素内容之间的空间,只能是‘SAME’(边缘填充)或者‘VALID’(边缘不填充)。

返回Tensor.

2. tf.layers.conv2d


conv2d(inputs, filters, kernel_size, strides=(1, 1), padding='valid', data_format='channels_last', dilation_rate=(1, 1),activation=None, use_bias=True, kernel_initializer=None,bias_initializer=<tensorflow.python.ops.init_ops.Zeros object at 0x000002596A1FD898>, kernel_regularizer=None,bias_regularizer=None, activity_regularizer=None, kernel_constraint=None, bias_constraint=None, trainable=True, name=None,reuse=None)
  • inputs:Tensor 输入
  • filters:整数,表示输出空间的维数(即卷积过滤器的数量)
  • kernel_size:一个整数,或者包含了两个整数的元组/队列,表示卷积窗的高和宽。如果是一个整数,则宽高相等。
  • strides:一个整数,或者包含了两个整数的元组/队列,表示卷积的纵向和横向的步长。如果是一个整数,则横纵步长相等。另外, strides 不等于1 和 dilation_rate 不等于1 这两种情况不能同时存在。
  • padding:“valid” 或者 “same”(不区分大小写)
  • data_format:channels_last 或者 channels_first,表示输入维度的排序。
  • dilation_rate:一个整数,或者包含了两个整数的元组/队列,表示使用扩张卷积时的扩张率。如果是一个整数,则所有方向的扩张率相等。另外, strides 不等于1 和 dilation_rate 不等于1 这两种情况不能同时存在。
  • activation:激活函数。如果是None则为线性函数。
  • use_bias:Boolean类型,表示是否使用偏差向量。
  • kernel_initializer:卷积核的初始化。
  • bias_initializer:偏差向量的初始化。如果是None,则使用默认的初始值。
  • kernel_regularizer:卷积核的正则项
  • bias_regularizer:偏差向量的正则项
  • activity_regularizer:输出的正则函数
  • kernel_constraint:映射函数,当核被Optimizer更新后应用到核上。Optimizer 用来实现对权重矩阵的范数约束或者值约束。映射函数必须将未被影射的变量作为输入,且一定输出映射后的变量(有相同的大小)。做异步的分布式训练时,使用约束可能是不安全的。
  • bias_constraint:映射函数,当偏差向量被Optimizer更新后应用到偏差向量上。
  • trainable:Boolean类型。
  • name:字符串,层的名字。
  • reuse:Boolean类型,表示是否可以重复使用具有相同名字的前一层的权重。

返回Tensor.

TensorFlow 添加卷积层相关推荐

  1. 【Tensorflow】卷积层

    [Tensorflow]卷积层 1.卷积计算过程 卷积计算可以认为是一种有效提取图像特征的方法,一般用一个正方形的卷积核,按照指定步长,在输入特征图上滑动,遍历输入特征图中的每个像素点.每一个步长,卷 ...

  2. 『TensorFlow』卷积层、池化层详解

    一.前向计算和反向传播数学过程讲解 这里讲解的是平均池化层,最大池化层见本文第三小节 二.测试代码 数据和上面完全一致,自行打印验证即可. 1.前向传播 import tensorflow as tf ...

  3. 用TensorFlow可视化卷积层的方法

    深度学习中对于卷积层的可视化可以帮助理解卷积层的工作原理与训练状态,然而卷积层可视化的方法不只一种.最简单的方法即直接输出卷积核和卷积后的filter通道,成为图片.然而也有一些方法试图通过反卷积(转 ...

  4. 【TensorFlow】TensorFlow从浅入深系列之十一 -- 教你深入理解卷积神经网络中的卷积层

    本文是<TensorFlow从浅入深>系列之第11篇 TensorFlow从浅入深系列之一 -- 教你如何设置学习率(指数衰减法) TensorFlow从浅入深系列之二 -- 教你通过思维 ...

  5. 如何保存Tensorflow中的Tensor参数,保存训练中的中间参数,存储卷积层的数据

    在自己构建的卷积神经时,我想把卷积层的数据提取出来,但是这些数据是Tensor类型的 网上几乎找不到怎么存储的例子,然后被我发下了一下解决办法 https://stackoverflow.com/qu ...

  6. TensorFlow:简单的卷积层、池化层(采样层)示例

    卷积层: ws=tf.get_variable('w',[5,5,3,16],initializer=tf.truncated_normal_initializer(stddev=0.1)) bs=t ...

  7. Tensorflow CNN(两层卷积+全连接+softmax)

    由于卷积用于分类的方法非常固定,因此直接贴上源码以及链接,有需要的直接稍加修改就可以了.  传送门   简单写一下心得体会 卷积层+pooling层 #定义变量,初始化为截断正态分布的变量 def w ...

  8. Tensorflow——add_layer(添加神经层)

    1.前言 在 Tensorflow 里定义一个添加层的函数可以很容易的添加神经层,为之后的添加省下不少时间. 神经层里常见的参数通常有weights.biases和激励函数. 2.def add_la ...

  9. Tensorflow中卷积神经网络之卷积层

    卷积层:与传统全连接层不同,卷积层中每一个节点的输入只是上一层神经网络的一小块.(试图将神经网络中的每一小块进行更加深入地分析从中得到抽象程度更高的特征) 在卷积层中:1.过滤器(filter)处理的 ...

最新文章

  1. Redis的多种启动方式比较!
  2. 搭建web服务器,发布站点
  3. dataframe获取指定列
  4. 面向对象的模型设计方法
  5. mysql 命令手册_MySQL 常用命令手册
  6. 华为鸿蒙系统HarmonyOS手机,华为鸿蒙系统2.0适配哪些机型
  7. Java toString()方法的要点
  8. [转自360kr]如何才能进入Facebook工作?公司内部工程师告诉你
  9. SAP License:你是怎么理解ERP的?
  10. 专注企业市场 或是网盘危机的有效出路
  11. boost boost::asio::read socket.read_some 区别
  12. java组合与继承始示例_Java 8特性与示例
  13. 12面魔方公式图解法_高手指教一下十二面魔方怎么拼?!十二面魔方公式新手图解...
  14. 什么是IDS和IPS
  15. Assembler如何把跳转汇编变成机器码的(一)
  16. homeassistant 快速入门
  17. python自然语言处理 | 分析句子结构
  18. diskpart clean 误操作恢复
  19. Java实现 LeetCode 215. 数组中的第K个最大元素
  20. Fatal signal 11 (SIGSEGV) at 0x00000048 (code=1)

热门文章

  1. 【生成任务下推生成子工序生产计划,无法结单】
  2. 广东药科大学c语言程序设计考试题,武汉理工大学《C语言程序设计》期末考试试卷(A卷)(2011级各专业).doc...
  3. 有点意思,今天面试一个游戏公司,游戏盒子的功能
  4. 从电商营销谈SEM推广
  5. xml文件导入wps_WPS表格怎么导入XML数据?:excel能打开wps表格吗
  6. C语言判断字符串类型及个数并输出
  7. Android字体权重,android – 如何设置自定义字体权重?
  8. JSP+ssm计算机毕业设计高校设备采购审批管理系统r1er5【源码、数据库、LW、部署】
  9. Array.some()方法
  10. 真正好用的微信恢复工具