tensorflow学习笔记

来源:互联网 发布:lovelive日服数据库 编辑:程序博客网 时间:2024/06/06 08:46

tensorflow.contrib.layers

在tf.contrib.layers内部,有许多产生layer操作及其相关权重和偏差变量的函数。
1. tf.contrib.layers.optimizers模块,包括的优化器有Adagrad,SGD,Momentum等。它们用来解决数值分析的优化问题,比如,优化参数空间寻找最优模型;
2. tf.contrib.layers.regularizers模块,包括的正则化有L1规则化和L2规则化。规则化经常被用来抑制模型训练时特征数过大导致的过拟合(overfitting)问题;有时也作为Lasso回归和Ridge回归的构建模块;
3. tf.contrib.layers.initializers模块,一般用来做模型初始化。包括深度学习在内的许多算法都要求计算梯度来优化模型。随机初始化模型参数有助于在参数空间中找到最优参数解。TensorFlow提供的有Xavier初始化器,用来在所有层中保持梯度大体相同;
4. tf.contrib.layers.feature_column模块,提供函数(比如,bucketing/binning,crossing/compostion,和embedding)来转换连续特征和离散特征;
5. tf.contrib.layers.embedding模块:转化高维分类特征成低维、密集实数值向量。

tf.truncated_normal

tf.truncated_normal(shape, mean=0.0, stddev=1.0, dtype=tf.float32, seed=None, name=None)

从截断的正态分布中输出随机值。
生成的值服从具有指定平均值和标准偏差的正态分布,如果生成的值大于平均值2个标准偏差的值则丢弃重新选择。

参数:
shape: 一维的张量,也是输出的张量。
mean: 正态分布的均值。
stddev: 正态分布的标准差。
dtype: 输出的类型。
seed: 一个整数,当设置之后,每次生成的随机数都一样。
name: 操作的名字。

tf.random_normal

tf.random_normal(shape, mean=0.0, stddev=1.0, dtype=tf.float32, seed=None, name=None)

从正态分布中输出随机值。
参数:

shape: 一维的张量,也是输出的张量。
mean: 正态分布的均值。
stddev: 正态分布的标准差。
dtype: 输出的类型。
seed: 一个整数,当设置之后,每次生成的随机数都一样。
name: 操作的名字。

变量作用域实例

变量作用域机制在TensorFlow中主要由两部分组成:

  • tf.get_variable(, , ): 通过所给的名字创建或是返回一个变量.
  • tf.variable_scope(): 通过 tf.get_variable()为变量名指定命名空间.

方法 tf.get_variable() 用来获取或创建一个变量,而不是直接调用tf.Variable.它采用的不是像`tf.Variable这样直接获取值来初始化的方法.一个初始化就是一个方法,创建其形状并且为这个形状提供一个张量.这里有一些在TensorFlow中使用的初始化变量:

  • tf.constant_initializer(value) 初始化一切所提供的值,
  • tf.random_uniform_initializer(a, b)从a到b均匀初始化,
  • tf.random_normal_initializer(mean, stddev) 用所给平均值和标准差初始化均匀分布.
原创粉丝点击