上一篇简单介绍了tensorflow的基本操作,这一篇介绍一些常用的函数。
-
tf.constant()
tf.constant ( value , dtype = None , shape = None , name = 'Const' , verify_shape = False )
value:类型是dtype的常量值(常用)
dtype:张量元素的类型
shape:张量的形状
name:张量的可选名称
verify_shape:布尔值可以验证数值的形状(不常用)
返回:常数张量
用来创建常数张量,value和shape一般不一块使用。t_1 = tf.constant([1, 2, 3, 4]) # 返回张量[1, 2, 3, 4] t_2 = tf.constant(-1, shape=[2,3]) # 返回张量[[-1,-1,-1], [-1,-1,-1]]
-
tf.Variable()
定义变量v_1 = tf.Variable([0, 0, 0])
-
tf.eye()
创建tensorflow单位矩阵
tf.eye( num_rows, num_columns=None, batch_shape=None, dtype=tf.float32, name=None )
num_rows:单位矩阵行数
num_colums:单位矩阵的列数,默认等于行数
batch_shape:如果提供,返回的张量将具有该形状的主要批次维度
返回:一定形状的单位阵tf.eye(2) >>[[1, 0], [0, 1]] tf.eye(2, 3) >>[[1, 0, 0], [0, 1, 0]]
-
tf.zeros()创建一定形状的零矩阵
tf.zeros( shape, dtype=tf.float32, name=None )
shape:矩阵的形状
返回:元素全零张量 -
tf.shape([2, 3]) >>[[0, 0, 0], [0, 0, 0]]
-
tf.zeros_like()
创建与某个张量形状一样的全零张量tf.zeros_like( tensor, dtype=None, name=None, optimize=True )
tensor:一个tf 张量,会创建与这个张量形状一样的全零张量
optimize:如果为true,则尝试静态确定“张量”的形状并将其编码为常量
返回:元素全零张量tensor = tf.constant([[1, 2, 3], [4, 5, 6]]) tf.zeros_like(tensor) # [[0, 0, 0], [0, 0, 0]],与tensor的形状相同
-
tf.ones()
创建元素是全是1的张量tf.ones( shape, dtype=tf.float32, name=None )
-
tf.ones_like()
创建与某个张量形状相同的全1张量,参数与 zeres_like() 相同ones_like( tensor, dtype=None, name=None, optimize=True )
-
tf.linspace() / tf.lin_space()
两个函数相同,只是个别名,创建在一定范围内从初值到终值等差分布的数列的n个数lin_space( start, stop, num, name=None )
start:范围的开始值,必须是以下类型之一:float32,float64
stop:范围的结束值,必须和start类型相同
num:数的个数
返回:一个等差排列的张量tf.linspace(10.0, 12.0, 3, name="linspace") => [ 10.0 11.0 12.0]
-
tf.range()
创建从a到b的增量是n的等差数列,不包括b,默认a是0,默认n是1tf.range(limit, delta=1, dtype=None, name='range') tf.range(start, limit, delta=1, dtype=None, name='range')
参数两种形式,如果没给start 只给limit,默认是start0;如果给了start 和limit ,就创建从start到limit的等差数列。增量默认是1。
返回一维张量。tf.range(3) => [0, 1, 2] tf.range(1, 5) => [1, 2, 3, 4] tf.range(3, 18, 3) => [3, 6, 9, 12, 15]