Tensorflow记录:tf.nn.conv2d

本文详细介绍了TensorFlow中的卷积运算函数tf.nn.conv2d,包括参数解释、举例说明和填充方式的效果分析。通过示例展示了如何使用该函数进行卷积操作,以及不同填充方式对输出形状的影响。
摘要由CSDN通过智能技术生成
定义

tf.nn.conv2d(input, filter, strides, padding, use_cudnn_on_gpu=None, name=None)
函数作用是用于tensorflow中的卷积运算

参数
  • input:待操作的张量,要求是tensor,结构为[ batch_size, height, width, in_channels ]。计算后的结果是四维的tensor,即常说的特征图(feature map);输入数据类型必须是float32或者float64
  • filter:卷积核,要求是tensor,结构为[ filter_height, filter_width, in_channels, out_channels ]。这里的in_channels和input中的in_channels必须相同;数据类型与input一致
  • strides:步长,结构是[ 1, strides, strides, 1]。第一维和第四维必须为1,第二第三维为步长,[1, 2, 2, 1]即设步长为2
  • padding:填充,结构只有两类:“SAME”, “VALID”。same代表补0填充,会优先在图右侧和下侧补0;valid代表不补0,卷积核没有扫到的部分直接丢弃
  • use_cudnn_on_gpu=None:是否使用GPU加速,bool类型,默认为True
  • name:给这个指定的操作命名
例子

- 默认batch为1,输入为331的图,通道为1,使用2*2的filter,将图增加到3维,使用SAME padding,步长为2

input_tensor = tf.Variable(tf.random_normal([1,3,3,1]))  # b, h, w, c
filter_1 = tf.Variable(tf.ones([2,2,1,3])) # f_h, f_w, in_c, out_c
output = tf.nn.conv2d(input_tensor, filter_1, strides=[1, 2, 2, 1], padding='SAME', 
                      use_cudnn_on_gpu=False)

init = tf.global_variables_initializer()
with tf.Session() as sess:
    sess
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值