tf.nn.conv2d、tf.layers.conv2d、tf.contrib.slim.conv2d理解
tf.nn是最基础的层,需要自己定义权重等,如tf.nn.conv2d,tf.nn.max_pool等。
tf.layers,tf.contrib.slim是较为高级的层。
1. tf.nn.conv2d
tf.nn.conv2d(
input,
filters,
strides,
padding,
data_format='NHWC',
dilations=None, name=None)
tf.nn.conv2d参数详解见这里
2. tf.layers.conv2d
tf.layers.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)
tf.layers.con2d参数详解见这里
3. slim.conv2d
slim.conv2d(inputs,
num_outputs,
kernel_size,
stride=1,
padding='SAME',
data_format=None,
rate=1,
activation_fn=nn.relu,
normalizer_fn=None,
normalizer_params=None,
weights_initializer=initializers.xavier_initializer(),
weights_regularizer=None,
biases_initializer=init_ops.zeros_initializer(),
biases_regularizer=None,
reuse=None,
variables_collections=None,
outputs_collections=None,
trainable=True,
scope=None)
slim.layers.conv2d参数详解见这里