ValueError: Cannot evaluate tensor using `eval()`

在學習TensorFlow的時候,按照書上的指導編寫代碼,因爲版本的原因出現很多問題,記錄一下以待改善:

1.ValueError: Cannot evaluate tensor using `eval()`

#矩陣乘法通過tf.matmul函數完成
v1=tf.constant([[1.0,2.0],[3.0,4.0]])
v2=tf.constant([[5.0,6.0],[7.0,8.0]])

print((v1*v2).eval())  # *是元素之間直接相乘

print(tf.matmul(v1,v2).eval())

運行時編譯器報錯:ValueError: Cannot evaluate tensor using `eval()`: No default session is registered. Use `with sess.as_default()` 

or pass an explicit session to `eval(session=sess)`

根據編譯器的提示,得知不能直接使用“.eval()“”這樣的語法,要改爲“with sess.as_default()”或者“eval(session=sess)”

將代碼改爲:

#矩陣乘法通過tf.matmul函數完成
v1=tf.constant([[1.0,2.0],[3.0,4.0]])
v2=tf.constant([[5.0,6.0],[7.0,8.0]])

#print((v1*v2).eval())  # *是元素之間直接相乘
with tf.Session() as sess:
    print((v1*v2).eval())

#print(tf.matmul(v1,v2).eval())
with tf.Session() as sess:
    print(tf.matmul(v1,v2).eval())

就沒有問題了


tf.select->tf.where


tf.initialize_all_variables()->tf.global_variables_initializer()

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章