1、 tf.nn
神经网络的功能支持模块,这是最常用到的一个模块,用于构建经典的卷积网络,它下面还包含了 rnn_cell 的子模块,用于构建循环神经网络;
avg_pool(...): 平均池化
batch_normalization(...): 批标准化
bias_add(...): 添加偏置
conv2d(...): 2维卷积
dropout(...): 随机丢弃神经网络单元
relu(...): relu 激活层
sigmoid_cross_entropy_with_logits(...): sigmoid 激活后的交叉熵
softmax(...): softmax 激活层
2、 tf.contrib
所有的易于变动的,或者说实验性质的功能就放在这个模块里面;所以它下面是有着及其丰富的功能子模块的,从中也可一窥 TensorFlow 后续的发展,所以看看它下面包含的全部子模块:
3、 tf.train
这个模块主要是用来支持训练模型的,照样挑几个它下面包含的常用类和函数看看:
class AdadeltaOptimizer: Adadelta 优化器
class AdamOptimizer: Adam 优化器
class Coordinator: 线程管理器
class Example tfrecord 的生成模板
class ExponentialMovingAverage: 指数移动平均
class GradientDescentOptimizer: 梯度下降优化器
class MomentumOptimizer: 动量优化器
class NanTensorHook: loss 是否为 NaN 的捕获器
class QueueRunner: 入队队列启动
class RMSPropOptimizer: RMSProp 优化器
class Saver: 保存模型和变量类
NewCheckpointReader(...)checkpoint 文件读取
batch(...): 生成tensorsbatch
create_global_step(...): 创建 global step
get_checkpoint_state(...): 从 "checkpoint" 文件返回模型状态
init_from_checkpoint(...): 从 checkpoint 文件初始化变量
latest_checkpoint(...): 寻找最后一次的 checkpoint 文件
list_variables(...): 返回 checkpoint 文件变量为列表
load_variable(...): 返回 checkpoint 文件某个变量的值
match_filenames_once(...): 寻找符合规则的文件名称
shuffle_batch(...): 创建随机的 Tensor batch
start_queue_runners(...): 启动计算图中所有的队列
可以看到,主要包含了模型优化器、tfrecord 数据准备、模型保存、模型读取四个大类的功能。
4、 tf.summary
用来配合 tensorboard 展示模型的信息,几个常用类和函数如下:
class FileWriter: Summary文件生成类
class Summary Summary 类
get_summary_description(...): 获取计算节点信息
histogram(...): 展示变量分布信息
image(...): 展示图片信息
merge(...): 合并某个 Summary 信息
merge_all(...): 合并所有的各处分散的 Summary 信息到默认的计算图
scalar(...): 展示某个标量的值
text(...): 展示文本信息
5、 tensorflow还把一些经常使用的Tensor操作直接放到tf下面,包括了Maths、Array、Matrix 相关的操作,也就是例如算术操作、张量(矩阵)操作、数据类型转换、矩阵的变形、切片、合并、规约、分割、序列比较与索引提取等常用功能。