tensorflow学习笔记

tf.variable_scope():

提供了简单的命名空间技术以避免冲突,可以让变量有相同的命名,包括tf.get_variable得到的变量,还有tf.Variable的变量

tf.name_scope():

可以让变量有相同的命名,只是限于tf.Variable的变量

tf.get_variable():

从同一个变量范围内获取或者创建;创建的变量名不受 name_scope 的影响;创建的变量,name 属性值不可以相同;

tf.Variable():

该函数在于定义一个变量;创建变量时,name 属性值允许重复(底层实现时,会自动引入别名机制)

tf.placeholder():

tf.placeholder(dtype, shape=None, name=None)
此函数可以理解为形参,用于定义过程,在执行的时候再赋具体的值
参数:
dtype:数据类型。常用的是tf.float32,tf.float64等数值类型
shape:数据形状。默认是None,就是一维值,也可以是多维,比如[2,3], [None, 3]表示列是3,行不定
name:名称。

tf.matmul():将矩阵a乘以矩阵b,生成a * b。

格式: tf.matmul(a, b, transpose_a=False, transpose_b=False, adjoint_a=False, adjoint_b=False, a_is_sparse=False, b_is_sparse=False, name=None)
参数:
a: 一个类型为 float16, float32, float64, int32, complex64, complex128 且张量秩 > 1 的张量。
b: 一个类型跟张量a相同的张量。
transpose_a: 如果为真, a则在进行乘法计算前进行转置。
transpose_b: 如果为真, b则在进行乘法计算前进行转置。
adjoint_a: 如果为真, a则在进行乘法计算前进行共轭和转置。
adjoint_b: 如果为真, b则在进行乘法计算前进行共轭和转置。
a_is_sparse: 如果为真, a会被处理为稀疏矩阵。
b_is_sparse: 如果为真, b会被处理为稀疏矩阵。
name: 操作的名字(可选参数)
返回值: 一个跟张量a和张量b类型一样的张量且最内部矩阵是a和b中的相应矩阵的乘积

tf.multiply():两个矩阵中对应元素各自相乘

格式: tf.multiply(x, y, name=None)
参数:
x: 一个类型为:half, float32, float64, uint8, int8, uint16, int16, int32, int64, complex64, complex128的张量。
y: 一个类型跟张量x相同的张量。
返回值: x * y element-wise.
注意:
(1)multiply这个函数实现的是元素级别的相乘,也就是两个相乘的数元素各自相乘,而不是矩阵乘法,注意和tf.matmul区别。
(2)两个相乘的数必须有相同的数据类型,不然就会报错。

tf.nn.softmax():Softmax回归

此函数执行相当于:softmax = tf.exp(logits) / tf.reduce_sum(tf.exp(logits), axis)
tf.nn.softmax( logits, axis=None, name=None, dim=None)
参数:
logits:一个非空的Tensor。必须是下列类型之一:half, float32,float64。
axis:将在其上执行维度softmax。默认值为-1,表示最后一个维度。
name:操作的名称(可选)。
dim:axis的已弃用的别名。
返回:
一个Tensor,与logits具有相同的类型和shape。

tf.nn.relu():

tf.nn.relu(features, name = None)
这个函数的作用是计算激活函数 relu,即 max(features, 0)。将大于0的保持不变,小于0的数置为0。

tf.reduce_sum():此函数计算一个张量的各个维度上元素的总和.
reduce_sum ( input_tensor , axis = None , keep_dims = False , name = None , reduction_indices = None )
函数中的input_tensor是按照axis中已经给定的维度来减少的;除非 keep_dims 是true,否则张量的秩将在axis的每个条目中减少1;如果keep_dims为true,则减小的维度将保留为长度1.
如果axis没有条目,则缩小所有维度,并返回具有单个元素的张量.
参数:
input_tensor:要减少的张量.应该有数字类型.
axis:要减小的尺寸.如果为None(默认),则缩小所有尺寸.必须在范围[-rank(input_tensor), rank(input_tensor))内.
keep_dims:如果为true,则保留长度为1的缩小尺寸.
name:操作的名称(可选).
reduction_indices:axis的废弃的名称.
返回:
该函数返回减少的张量.

tf.log():计算元素x的自然对数。

log( x, name=None).
参数:
x:张量,必须是以下类型之一:half,float32,float64,complex64,complex128,。
名称:操作的名称(任选)。
返回值:
该函数返回一个张量,与x具有相同的类型。

tf.nn.l2_loss():计算不含 sqrt 的张量的 L2 范数的一半:

tf.nn.l2_loss( t, name=None)
简单的可以理解成张量中的每一个元素进行平方,然后求和,最后乘一个1/2.
参数:
t:一个Tensor,必须是下列类型之一:half,bfloat16,float32,float64.通常是2-D的,但是也可以具有任何维度.
name:操作的名称(可选).
返回:
一个Tensor,与t具有相同的类型.

tf.train.AdamOptimizer():

函数是Adam优化算法:是一个寻找全局最优点的优化算法,引入了二次方梯度校正。
参数:
learning_rate:张量或浮点值。学习速率
beta1:一个浮点值或一个常量浮点张量。一阶矩估计的指数衰减率
beta2:一个浮点值或一个常量浮点张量。二阶矩估计的指数衰减率
epsilon:数值稳定性的一个小常数
use_locking:如果True,要使用lock进行更新操作
name:应用梯度时为了创建操作的可选名称。默认为“Adam”

tf.InteractiveSession():

是一种交互式的session方式,它让自己成为了默认的session,也就是说用户在不需要指明用哪个session运行的情况下,就可以运行起来

你可能感兴趣的:(深度学习,tensorflow)