2016-10-29 13 views
2

何らかの形で入力単語を分類するはずのニューラルネットワークを構築しています。ネットワーク自体の詳細を詳しく調べることなく、入力エンコーディングにTensorFlowのtf.nn.embedding_lookup(...)を使用するために、入力ワードを整数フォーマットに変換する方法を探していました。TensorFlowが文字列を数値に変換できません

私は気づいたtf.string_to_number()が、私はそれを使用してみましたが、失敗しました。まず、私はそれは私が私のネットワークでやっているものに関連していたと思ったが、Pythonのコンソールで

import tensorflow as tf 
s = tf.string_to_number("TEST", out_type=tf.int32) 
sess = tf.InteractiveSession() 
sess.run(s) 

のようなものをやっていても、私は

tensorflow.python.framework.errors.InvalidArgumentError: 
StringToNumberOp could not correctly convert string: TEST 

の同じエラーを取得し、私も試してみました最初にtf.constant("TEST", dtype=tf.string)を作成し、それをtf.string_to_number()に渡して、このテストコードをWebサーバーで実行して、セットアップに関連していないことを確認しましたが、同じ結果が得られました。

私はここで何が欠けているのか教えていただけますか?前もって感謝します!

答えて

3

私がここで何が欠けているのか教えていただけますか?

あなたは数値を変換することになっているstring_to_numberの目的が欠落している、(それはどのようにすることができるだろうtf.string_to_number('1')のように、それは文字列の「1つのホットエンコーダ」ではありません、数値型に、文字列として表さ最初にボキャブの大きさを調べるのですか?)word2vec_basic.pyに埋め込みモデルを訓練する方法を示す、テンソルフローそのものに良いチュートリアルがあります。ルックアップ操作。

+0

意味があります。私はそれが文字列や何かの文字に基づいて数値を生成することになっていたと思った。そのファイルに対応するチュートリアルでは、単語はすでに整数化されているものと仮定していますが、そのコードを自分で書く必要があります。私はその実装について検討します。ありがとう! –

+0

これは偽です。私が参照したコードで使用されているText8は生のテキストであり、コードによって変換されるため、自分で書く必要はありません。 – lejlot

関連する問題