文字レベル予測のために文字列テンソルの文字を取得しようとしています。グラウンドトゥルースは、各キャラクターが辞書にIDを持つ単語です。私は、文字列の長さに対応するテンソルを持っています。Tensorflow - 文字列テンソル内の各文字を取得する
ここで、文字列テンソルの各文字を取得する必要があります。関連する投稿を確認した後、簡単な検索は次のようになります。例文字列は、「これは」
a= tf.constant("This",shape=[1])
b=tf.string_split(a,delimiter="").values #Sparse tensor has the values array which stores characters
は今、私は「この」すなわち「T hをI S」の文字の間にスペースを含む文字列を作りたいです。私は開始時と終了時にも間隔が必要です。 どうすればいいですか?
私は
for i in xrange(b.dense_shape[1]): # b.dense_shape[1] has the length of string
x=b.values[i]
以下のような文字を反復処理しようとしている。しかしループは整数ではなく、テンソルを期待しています。
どのように上記の作業を行う上でのアイデアですか?私はこれに関する文書を見つけることができませんでした(tf.string_split関数とは別に)。どんな提案も大歓迎です。ありがとう
実は私の問題ではなく、各文字を取得し、テンソルを反復することではありません。 テンソルの形の文字が必要なので、ここではeval()を使うことはできません。私の主な仕事は、元の文字列の間にスペースを挿入した文字列テンソルを取得することです。私の考えは、各文字テンソルをスペースで交互に追加して、希望の文字列テンソルを得ることです。しかし、私はそれをどうやって行うのか分かりません。 –
2番目のアプローチでは簡単です。 'tf.string_split(tf.map_fn(lambda i:i +" "、b)、delimiter =" ")。values'は、各文字の最後にスペースを入れてから、 - 得られたテンソルを分割する。 – garciparedes
魅力的な作品です。ありがとうございました –