TensorFlow定义的二维卷积有三种,分别是tf.nn.conv2d、tf.layers.conv2d、tf.contrib.layers.conv2d,个人认为tf.layers.conv2d使用起来更为方便简单,所以就记录下tf.layers.conv2d的使用方法。
tf.layers.conv2d(inputs, filters, kernel_size, strides, padding)
常用的大概就这几个参数,为什么说tf.layers.conv2d使用方便,是因为不需要对权重初始化设置,只需要填写卷积核的数量和大小即可。
示例:
res = tf.layers.conv2d(x,filters=32,kernel_size=[3,3],strides=1,padding='SAME')
即用32个3*3的卷积核对x进行卷积操作,与tf.nn.conv2d不同的是,tf.nn.conv2d不仅需要对权重初始化,还需要定义卷积核的维度。例如,如果我要用64个3*3的卷积核对大小为256*256*32的feature map进行卷积的话,卷积核需设置为[3,3,32,64],我觉得这样太麻烦了。
暂时了解的有这些,至于其他两个卷积回头用到的时候再记录吧。