简单函数不给用例
tf.nn.moments
函数原型
def moments(
x,
axes,
shift=None, # pylint: disable=unused-argument
name=None,
keep_dims=False):
例子
img = tf.Variable(tf.random_normal([2,3,4]))
#keep_dims设置为True表示axes这个参数维度为1,其他维度和原来保持一样
#当为False,表示axes这个维度直接消失,维度减一。
mean, variance = tf.nn.moments(img, [-1], keep_dims=True)
mean1, variance1 = tf.nn.moments(img, [-1])
打印mean和mean1结果:
[[[-0.01752006]
[-0.3934618 ]
[ 0.5831194 ]]
[[-0.40659836]
[ 0.26763207]
[-0.7876693 ]]]
[[-0.01752006 -0.3934618 0.5831194 ]
[-0.40659836 0.26763207 -0.7876693 ]]
可以看出mean变成(2,3,1),而mean1为(2,3)
tf.concat
函数原型
def concat(values, axis, name="concat"):
values值是以tuple形式传入,两个需要进行concat的matrix,axis指示按什么维度concat
tf.nn.embedding_lookup
原型
def embedding_lookup(
params,
ids,
partition_strategy="mod",
name=None,
validate_indices=True, # pylint: disable=unused-argument
max_norm=None):
实现功能,从params中抽取ids号的vector组成一个matrix。
ids = tf.Variable(tf.ones([3], dtype=tf.int32))
lookup_table = tf.Variable(tf.random_normal([2,3], dtype=tf.float32))
outputs = tf.nn.embedding_lookup(lookup_table, ids)
打印lookup_table和outputs:
[[ 0.82692766 -0.6102561 0.36227643]
[-0.06371575 1.1494356 -0.27827913]]
[[-0.06371575 1.1494356 -0.27827913]
[-0.06371575 1.1494356 -0.27827913]
[-0.06371575 1.1494356 -0.27827913]]
可以看到outputs中,取了3次lookup_table[1]组成matrix
tf.tile
函数原型
def tile(input, multiples, name=None):
功能实现,对matrix的复制,inputs是要复制的,multiples是规则,为一个list,表示要复制的维度和次数,且multi的维度应等于inputs。