tensorflow学习笔记各个函数解析

本文介绍了TensorFlow中获取全局训练步数的重要性,解释了fetches和feed_dict在运行图中的作用,并深入探讨了词嵌入的概念,特别是word2vec的CBOW和skip-gram模型。重点讲解了tf.nn.embedding_lookup函数的使用,通过实例展示了如何从张量中选取指定索引的元素。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

弄清以下问题的含义:
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]]

分析:输出为张量的第一和第三个元素

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值