tf API 研读:tf.nn,tf.layers, tf.contrib综述

我们在使用tensorflow时,会发现tf.nn,tf.layers, tf.contrib模块有很多功能是重复的,尤其是卷积操作,在使用的时候,我们可以根据需要现在不同的模块。但有些时候可以一起混用。

        下面是对三个模块的简述:

        (1)tf.nn :提供神经网络相关操作的支持,包括卷积操作(conv)、池化操作(pooling)、归一化、loss、分类操作、embedding、RNN、Evaluation。

 tf.nn

  • activation 
    • tf.nn.relu
    • tf.nn.softmax:多分类的输出层
  • softmax + cross entropy:

    tf.nn.softmax_cross_entropy_with_logits(logits, labels) ⇒ tf.reduce_mean()

        (2)tf.layers:主要提供的高层的神经网络,主要和卷积相关的,个人感觉是对tf.nn的进一步封装,tf.nn会更底层一些。

tf.layers

定义在tensorflow/python/layers/layers.py, 为我们提供了一些高层次的构建神经网络的接口。

函数

提供的主要API包含以下几个方面:

  • 卷积
  • pooling
  • 全连接
  • 批归一化BN
  • dropout

卷积

tf.layers.conv1d

conv1d( 
inputs, 
filters, 
kernel_size, 
strides=1, 
padding=’valid’, 
data_format=’channels_last’, 
dilation_rate=1, 
activation=None, 
use_bias=True, 
kernel_initializer=None, 
bias_initializer=tf.zeros_initializer(), 
kernel_regularizer=None, 
bias_regularizer=None, 
activity_regularizer=None, 
trainable=True, 
name=None, 
reuse=None 
)

 tf.layers.conv2d

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, 
trainable=True, 
name=None, 
reuse=None 
)

tf.layers.conv3d

conv3d( 
inputs, 
filters, 
kernel_size, 
strides=(1, 1, 1
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值