tf.nn,tf.layers, tf.contrib模块有很多功能是重复的
下面是对三个模块的简述:
- tf.nn :提供神经网络相关操作的支持,包括卷积操作(conv)、池化操作(pooling)、归一化、loss、分类操作、embedding、RNN、Evaluation。
- tf.layers:主要提供的高层的神经网络,主要和卷积相关的,tf.nn会更底层一些。
- tf.contrib:tf.contrib.layers提供够将计算图中的 网络层、正则化、摘要操作、是构建计算图的高级操作,但是tf.contrib包含不稳定和实验代码,有可能以后API会改变。
TensorFlow中文社区提供了详细的介绍:[TensorFlow中文社区]
-
Activation Functions
-
tf.nn.relu(features, name=None)
-
tf.nn.relu6(features, name=None)
-
tf.nn.softplus(features, name=None)
-
tf.nn.dropout(x, keep_prob, noise_shape=None, seed=None, name=None)
-
tf.nn.bias_add(value, bias, name=None)
-
tf.sigmoid(x, name=None)
-
tf.tanh(x, name=None)
-
Convolution
-
tf.nn.conv2d(input, filter, strides, padding, use_cudnn_on_gpu=None, name=None)
-
tf.nn.depthwise_conv2d(input, filter, strides, padding, name=None)
-
tf.nn.separable_conv2d(input, depthwise_filter, pointwise_filter, strides, padding, name=None)
-
Pooling
-
tf.nn.avg_pool(value, ksize, strides, padding, name=None)
-
tf.nn.max_pool(value, ksize, strides, padding, name=None)
-
tf.nn.max_pool_with_argmax(input, ksize, strides, padding, Targmax=None, name=None)
-
Normalization
-
tf.nn.l2_normalize(x, dim, epsilon=1e-12, name=None)
-
tf.nn.local_response_normalization(input, depth_radius=None, bias=None, alpha=None, beta=None, name=None)
-
tf.nn.moments(x, axes, name=None)
-
Losses
-
tf.nn.l2_loss(t, name=None)
-
Classification
-
tf.nn.sigmoid_cross_entropy_with_logits(logits, targets, name=None)
-
tf.nn.softmax(logits, name=None)
-
tf.nn.softmax_cross_entropy_with_logits(logits, labels, name=None)
-
Embeddings
-
tf.nn.embedding_lookup(params, ids, name=None)
-
Evaluation
-
tf.nn.top_k(input, k, name=None)
-
tf.nn.in_top_k(predictions, targets, k, name=None)
-
Candidate Sampling(包含Sampled Loss Functions和Miscellaneous candidate sampling utilities)
-
Sampled Loss Functions
-
tf.nn.nce_loss(weights, biases, inputs, labels, num_sampled, num_classes, num_true=1, sampled_values=None, remove_accidental_hits=False, name=‘nce_loss’)
-
tf.nn.sampled_softmax_loss(weights, biases, inputs, labels, num_sampled, num_classes, num_true=1, sampled_values=None, remove_accidental_hits=True, name=‘sampled_softmax_loss’)
-
Candidate Samplers
-
tf.nn.uniform_candidate_sampler(true_classes, num_true, num_sampled, unique, range_max, seed=None, name=None)
-
tf.nn.log_uniform_candidate_sampler(true_classes, num_true, num_sampled, unique, range_max, seed=None, name=None)
-
tf.nn.learned_unigram_candidate_sampler(true_classes, num_true, num_sampled, unique, range_max, seed=None, name=None)
-
tf.nn.fixed_unigram_candidate_sampler(true_classes, num_true, num_sampled, unique, range_max, vocab_file=‘’, distortion=0.0, num_reserved_ids=0, num_shards=1, shard=0, unigrams=[], seed=None, name=None)
-
Miscellaneous candidate sampling utilities
-
tf.nn.compute_accidental_hits(true_classes, sampled_candidates, num_true, seed=None, name=None)