关于np.random.RandomState、np.random.rand、np.random.random、np.random_sample参考https://blog.csdn.net/lanchunhui/article/details/50405670
tf.nn.embedding_lookup函数的用法主要是选取一个张量里面索引对应的元素。tf.nn.embedding_lookup(params, ids):params可以是张量也可以是数组等,id就是对应的索引,其他的参数不介绍。
例如:
#c = np.random.random([10, 1]) # 随机生成一个10*1的数组 #b = tf.nn.embedding_lookup(c, [1, 3])#查找数组中的序号为1和3的 p=tf.Variable(tf.random_normal([10,1]))#生成10*1的张量 b = tf.nn.embedding_lookup(p, [1, 3])#查找张量中的序号为1和3的 with tf.Session() as sess: sess.run(tf.global_variables_initializer()) print(sess.run(b)) #print(c) print(sess.run(p)) print(p) print(type(p))
输出:
[[0.15791859] [0.6468804 ]] [[-0.2737084 ] [ 0.15791859] [-0.01315552] [ 0.6468804 ] [-1.4090979 ] [ 2.1583703 ] [ 1.4137447 ] [ 0.20688428] [-0.32815856] [-1.0601649 ]] <tf.Variable 'Variable:0' shape=(10, 1) dtype=float32_ref> <class 'tensorflow.python.ops.variables.Variable'>
分析:输出为张量的第一和第三个元素。