contrib module containing volatile or experimental code.
contrib 模型保存具有试验性, 极易变更的代码
Ops for building neural network layers, regularizers, summaries, etc.
tf.contribute.layer 中存有 用于构建神经网络层,正则化程序,摘要等的函数
None
未做注释,但存有有关神经网络基础运算的函数
Public API for tf.layers namespace.
tf.layers命名空间的API, 函数相对来说比较稳定
TF-Slim is a lightweight library for defining, training and evaluating complex models in TensorFlow. Components of tf-slim can be freely mixed with native tensorflow, as well as other frameworks, such as tf.contrib.learn.
TF-Slim是一个轻量级库,用于在TensorFlow中定义,训练和评估复杂模型。 tf-slim的组件可以与native tensorflow以及其他框架(如tf.contrib.learn)自由混合
Keras is an object-oriented API for defining and training neural networks.
This module contains a pure-TensorFlow implementation of the Keras API, allowing for deep integration with >TensorFlow functionality.
Keras是一个面向对象的API,用于定义和训练神经网络。 该模块包含Keras API的纯TensorFlow实现,允许与TensorFlow功能进行深度集成
由图可见, tf.keras.layers中的函数在tf.compat.中也会出现. 名称不同,使用同一函数,完成相同功能
以tensorflow 1.8.0为例:
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=tf.zeros_initializer(),
kernel_regularizer=None,
bias_regularizer=None,
activity_regularizer=None,
kernel_constraint=None,
bias_constraint=None,
trainable=True,
name=None,
reuse=None
)
tf.contrib.layers 中的conv2d
tf.contrib.layers.conv2d(
inputs,
num_outputs,
kernel_size,
stride=1,
padding='SAME',
data_format=None,
rate=1,
activation_fn=tf.nn.relu,
normalizer_fn=None,
normalizer_params=None,
weights_initializer=initializers.xavier_initializer(),
weights_regularizer=None,
biases_initializer=tf.zeros_initializer(),
biases_regularizer=None,
reuse=None,
variables_collections=None,
outputs_collections=None,
trainable=True,
scope=None
)
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
)
总的来说,不同模块下面的函数类似,但是具体的参数会有不同.相对起来,tf.contrib下面的函数由于函数丰富,使用的人数更多,但tf.contrib下面的模块存在被废止更新的风险. tf.layer 稳定
tensorflow 1.12 版本中tf.conrib.layer函数与1.8版本比较:
总结:
相同名称函数实现功能相似,一般情况下,同名函数之间可以相互替代,但会因为module不同略有差异,因此实践操作时不确定的函数建议查看官网文档.