tf.nn.embedding_lookup函数的用法
tf.nn.embedding_lookup函数的用法主要是选取一个张量里面索引对应的元素。tf.nn.embedding_lookup(tensor, id):tensor就是输入张量,id就是张量对应的索引,其他的参数不介绍。
import tensorflow as tf;
import numpy as np;
c = np.random.random([10,1])
b = tf.nn.embedding_lookup(c, [1, 3])
with tf.Session() as sess:
sess.run(tf.initialize_all_variables())
print sess.run(b)
print c
输出:
[[ 0.77505197]
[ 0.20635818]]
[[ 0.23976515]
[ 0.77505197]
[ 0.08798201]
[ 0.20635818]
[ 0.37183035]
[ 0.24753178]
[ 0.17718483]
[ 0.38533808]
[ 0.93345168]
[ 0.02634772]]
分析:输出为张量的第一和第三个元素。
tf.reduce_sum( ) 函数用法
# 'x' is [[1, 1, 1]
# [1, 1, 1]]
tf.reduce_sum(x) ==> 6
tf.reduce_sum(x, 0) ==> [2, 2, 2]
tf.reduce_sum(x, 1) ==> [3, 3]
tf.reduce_sum(x, 1, keep_dims=True) ==> [[3], [3]]
tf.reduce_sum(x, [0, 1]) ==> 6
tf.clip_by_value()函数用法
tf.clip_by_value(v,a,b)
功能:可以将一个张量中的数值限制在一个范围之内。(可以避免一些运算错误)
参数: (1)v:input数据
(2)a、b是对数据的限制。
当v小于a时,输出a;
当v大于a小于b时,输出原值;
当v大于b时,输出b;
例子:
import tensorflow as tf
v=tf.constant([[1.0,2.0,3.0],[4.0,5.0,6.0]])
sess=tf.Session()
with sess.as_default():
print(tf.clip_by_value(v,2.5,4.5).eval())
结果:
[[ 2.5 2.5 3. ]
[ 4. 4.5 4.5]]