2016-07-01 5 views
0
import tensorflow as tf 

x = tf.constant(35, name='x') 
y = tf.Variable(x + 5, name='y') 

model = tf.initialize_all_variables() 

with tf.Session() as session: 
    session.run(model) 
    print(session.run(y)) 

をしようとしているときにタイプエラーを言って、エラーを生成します:単一テンソルが問題になる可能性があるものをテンソルフローエラーこのコードは基本的な数値以外を印刷する

を期待テンソルのリスト?

システムの詳細:Virtualboxの:Ubuntuの16.04 xenial、テンソルが流れ0.9.0、のpython-3.5あなたがtensorflowの概念的な側面が欠けているように見えます

+0

問題を再現できません。あなたのコードは私の仕事で、「40」を印刷します。ちょっとインタラクティブなPython環境を使っていますか?もしそうなら、おそらくPythonを再起動しようとしますか? –

+0

いいえ私はインタラクティブなPython環境を使用していません。私はコアエディタとして 'Sublime'を使用しています。私はファイルを 'tensor_test.py'として保存しました。テンソルソースがアクティブな間に基本的なコマンド 'python tensor_test.py'を使ってターミナルで実行します。 –

答えて

0

。 まず私はTF

x = tf.constant(35, name='x') 
y = tf.Variable(5, name='y') 
add = tf.add(x,y) 
update = tf.assign(y,add) 

model = tf.initialize_all_variables() 

with tf.Session() as session: 
    session.run(model) 
    print(session.run(y)) 
    print(session.run([add,y])) 
    print(session.run([update,y])) 
    print(session.run([update,y])) 

としてのコード例で 輸入tensorflowを始めましょうこれは、だから何が起こっている次

5 
40 5 
40 40 
75 75 

を印刷するのだろうか?第1に、xとyは35と5ではありません。データを含んでテンソルフローグラフと対話できるテンソルフローオブジェクトです。 xは定数であり、テンソルフローによって要求されたときに値35をグラフに提供しますが、35に等しくありません。yは実行時に値を割り当ててテンソルフローによって更新できる変数です。

例では、yの値を初期値x + 5の変数に設定しますが、xは35ではありません。xはテンソルフローオブジェクトです。

上記の例では、変数yに値5を代入しています。セッションを実行してyの値を取得すると、5になります。addの値を取得すると、35 + 5ですが、yは変更されません。更新を実行すると、yの値が40に更新されたことがわかります。最後に、yを35ずつ増やして現在75になっていることがわかります。

これはclassic Pythonの変数と定数、テンソルフローの変数と定数。

関連する問題