web-dev-qa-db-ja.com

テンソルを範囲としてループを実行するにはどうすればよいですか? (テンソルフロー)

その反復回数がテンソル値に依存するforループが必要です。例えば:

for i in tf.range(input_placeholder[1,1]):
  # do something

ただし、次のエラーが発生します。

"TypeError: 'Tensor'オブジェクトは反復可能ではありません"

私は何をすべきか?

17
Poorya Pzm

これを行うには、テンソルフローのwhileループ( tf.while_loop )は次のとおりです。

i = tf.constant(0)
while_condition = lambda i: tf.less(i, input_placeholder[1, 1])
def body(i):
    # do something here which you want to do in your loop
    # increment i
    return [tf.add(i, 1)]

# do the loop:
r = tf.while_loop(while_condition, body, [i])
25
patapouf_ai