tensorflow函数一览
注意: 本文介绍的是version 1.3.0下的函数,有些函数可能在旧版本中没有。
转载请注明出处变天式的博客
前言:名词解释
tensor | 张量,可以是一个数,也可以是一个向量、矩阵或者高纬度数据 |
---|---|
operator | 操作,在tensorflow里面,函数也叫作操作 |
Uni | 一元,表示操作只有一个参数 |
Bi | 二元,表示操作有2个参数 |
element-wise | 元素级操作,表示该操作是对张量的每一个元素进行一一对应的操作,输出和输入的张量维度和元素个数保持不变 |
variable | 变量,表示可以微分和手动更新的参数,代表神经网络中可以训练的参数,比如weight和bias |
placeholder | 占位符,如果把一整个神经网络看成一个未知的函数的话,占位符就相当于函数的输出 |
rank | 秩,数组的维度的维度,例如标量的rank=0, rank(vector)=1, rank(matrix)=2, rank([[[1],[1]],[[2],[2]]])=3,…,以此类推 |
一元元素级操作(Uni Element-wise Operaters)
一元元素操作的输入参数一般是(tensor, name=None)
, name
表示操作的名称,tensor
是输入张量, 输出是一个shape和输入完全相同的张量,表示对输入张量tensor
的每一个参数都申请了同一个操作的结果。例如abs([1., -1., 3., -4.]) => [1., 1., 3., 4.]
。
数学函数
tf.abs|log|exp|square|sqrt|reciprocal | (x, name=None) |
---|
Computes the absolute value/log/exp/square/sqare root/reciprocal of a tensor element-wise.
计算张量每个元素的绝对值/自然对数/自然指数/平方/平方根/倒数。
import tensorflow as tf
tf.global_variables_initializer()
sess.run(tf.reciprocal([[3., 4.]]))
## array([[ 0.33333334, 0.25 ]], dtype=float32)
三角函数与反三角函数
函数名 | 参数 | - |
---|---|---|
tf.sin|cos|tan | (x, name=None) | 三角函数 |
tf.asin|acos|atan | (x, name=None) | 反三角函数 |
Computes sin/cos/tan/asin/acos/atan of x element-wise.
按照元素计算正弦/余弦/正切/反正弦/反余弦/反正切值,输出和x的形状相同。
反三角函数指的是三角函数在其单调区间中的反函数。具体可百度之
import math
sess.run(tf.asin([0, 0.5, math.sqrt(0.5), 1.0]))
# array([ 0. , 0.52359879, 0.78539813, 1.57079637], dtype=float32)
取整函数
tf.ceil|tf.floor|tf.round|tf.rint | (x, name=None) |
---|
Returns element-wise smallest integer in not less than x.
Returns element-wise biggest integer in not greater than x.
Returns element-wise integer closest to x.
按照元素向上取整\向下取整\四舍五入。tf.rint和tf.round的效用相同。四舍五入的时候如果小数部分是0.5的话,则取偶数,例如(-0.5->0.), (1.5->2.0).
sess.run(tf.ceil([0, 0.5, math.sqrt(0.5), 1.0]))
# array([ 0., 1., 1., 1.], dtype=float32)
sess.run(tf.floor([0, 0.5, math.sqrt(0.5), 1.0]))
# array([ 0., 0., 0., 1.], dtype=float32)
sess.run(tf.round([0, 0.5, math.sqrt(0.5), 1.5]))
# array([ 0., 0., 1., 2.], dtype=float32)
sess.run(tf.rint([0, 0.5, math.sqrt(0.5), -0.5]))
# array([ 0., 0., 1., 0.], dtype=float32)
最值索引
函数名 | 函数参数 | 函数说明 |
---|---|---|
tf.arg_max|arg_min | (x, dimension, name=None) | 沿着指定的维度返回张量在指定维度最大值(或最小值)索引 |
tf.argmax|argmin | (x, axis=None, name=None, dimension=None) | 同上 |
tf.argmax
和tf.arg_max
执行的是同一个操作,但是推荐使用argmax
,因为arg_max
在将来会被deprecated.
复杂的函数/激活函数
函数名 | 函数参数 | 函数说明 |
---|---|---|
tf.sinh|cosh|tanh | (x, name=None) | 双曲正弦,双曲余弦,双曲正切 |
tf.asinh|acosh|atanh | (x, name=None) | 反双曲正弦,反双曲余弦,反双曲正切 |
tf.sigmoid | (x, name=None) | Sigmoid函数 |
tf.rsqrt | (x, name=None) | 平方根的倒数 |
双曲三角函数