弄清以下问题的含义:
1.
tf.train.global_step
获取全局训练步数, 由 各种损失函数优化器中的minimize()
方法负责自动加1
sess.run(
fetches,
feed_dict=None,
options=None,
run_metadata=None
)
-
fetches: A single graph element, a list of graph elements, or a
dictionary whose values are graph elements or lists of graph elements
(described above). -
feed_dict: A dictionary that maps graph elements
to values (described above). -
options: A [RunOptions] protocol buffer
-
run_metadata: A [RunMetadata] protocol buffer
翻译一下: fetchs 是一个[] ,字典中的元素是计算图中定义的元素,
feed_dict用来提供输入参数
- word embedding 与one-hot 相比是连续的,可以表达出词与词之间的联系。 word2vec 可以高效获得 word embedding 。 有两种模型,一个叫CBOW,还有一个skip-gram 。 CBOW适用于小型数据,采用根据上下文预测目标词。 而skip-gram 适用大型数据集 使用目标词推测上下文
神经网络模型的结果使用 one-hot vector来表示
此部分为转载
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]]
分析:输出为张量的第一和第三个元素