TensorFlow学习(十七):高级API之tf.layers

本文介绍了TensorFlow中的高级API——tf.layers,包括batch_normalization、dense、conv2d等常用函数,强调了这些封装好的函数在简化代码和提升效率上的优势,并给出了函数参数的详细说明及使用示例。
摘要由CSDN通过智能技术生成

之前写的代码都是基于比较底层的API了,底层的API其实是有好处的,虽然还是调API,但是至少对于原理有小小的理解才能够写出代码。而且在实现一些新的论文或者要实现一个新的点子的时候,这时候是没有API的,因此底层的API非常有存在的必要,且必须经过这一个过程。
但是对于一个非常熟悉底层原理和经过了写底层代码这个过程的人,在有些很常见的任务上,就是用高级封装好的API就行。tf.layers就是提供这个功能的。是用tf.layers封装好的函数,能够省去非常多自己写的代码,而且更加简单更加方便。
这里不会把所有的都罗列出来,因为用法都是差不多的。注意,使用的时候必须对于理论知识有了解

一.概览

官方文档:Module: tf.layers
tf.layers中分为类和函数,我们这里主要讲函数,因为类和函数的用法大同小异。

Input(…): 用于实例化一个输入 Tensor,作为神经网络的输入。
average_pooling1d(…): 一维平均池化层
average_pooling2d(…): 二维平均池化层
average_pooling3d(…): 三维平均池化层
batch_normalization(…): 批量标准化层
conv1d(…): 一维卷积层
conv2d(…): 二维卷积层
conv2d_transpose(…): 二维反卷积层
conv3d(…): 三维卷积层
conv3d_transpose(…): 三维反卷积层
dense(…): 全连接层
dropout(…): Dropout层
flatten(…): Flatten层,即把一个 Tensor 展平
max_pooling1d(…): 一维最大池化层
max_pooling2d(…): 二维最大池化层
max_pooling3d(…): 三维最大池化层
separable_conv2d(…): 二维深度可分离卷积层

看上面这个函数,可以发现,这个模块主要覆盖的区域是全连接和卷积等等的基本操作。但是这些操作已经非常足够了。我们可以根据自己的需要,在可以使用这里的API的时候使用,来简化我们的代码。

二.常见函数说明

上面讲了常见函数的概览,下面来详细讲一下常用的函数,其他的函数可以根据自己的需要查阅文档。

tf.layers.batch_normalization

此方法是批量标准化的方法,经过处理之后可以加速训练速度

tf.layers.batch_normalization(
    inputs,
    axis=-1,
    momentum=0.99,
    epsilon=0.001,
    center=True,
    scale=True,
    beta_initializer=tf.zeros_initializer(),
    gamma_initializer=tf.ones_initializer(),
    moving_mean_initializer=tf.zeros_initializer(),
    moving_variance_initializer=tf.ones_initializer(
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值