我正在构建一个神经网络,应该以某种方式对输入单词进行分类。在没有详细介绍网络本身的情况下,我一直在寻找一种方法将输入的单词转换为整数格式,以便使用TensorFlow的tf.nn.embedding_lookup(...)
进行输入编码。
我注意到tf.string_to_number()
存在,所以我尝试使用它,但它失败了。首先,我认为这与我在网络中所做的事情有关,但即使在做像
import tensorflow as tf
s = tf.string_to_number("TEST", out_type=tf.int32)
sess = tf.InteractiveSession()
sess.run(s)
在python控制台中,我得到了同样的
错误tensorflow.python.framework.errors.InvalidArgumentError:
StringToNumberOp could not correctly convert string: TEST
我还尝试首先创建tf.constant("TEST", dtype=tf.string)
并将其传递给tf.string_to_number()
并在网络服务器上运行此测试代码,以确保它与我的设置无关,但结果相同。
谁能告诉我这里缺少什么?提前谢谢!
答案 0 :(得分:7)
谁能告诉我我在这里失踪了什么?
你错过了string_to_number
的目的,它应该将一个数字(表示为字符串)转换为数字类型,如tf.string_to_number('1')
,它不是"一个热编码器&#34 ;对于字符串(如何能够首先弄清楚词汇中的大小?)
在tensorflow本身有一个很好的教程,它展示了如何在word2vec_basic.py中训练嵌入模型,这些模型贯穿所有内容,从数据读取开始到使用查找操作完全嵌入结束。