最近自己的深度學習基於scikit-neuralnetwork的已經學完,在學習tensorflow的時候遇到了一個很狗血的問題。
import tensorflow as tf
x = tf.Variable([1,2])
a = tf.constant([3,3])
#增加一個減法op
sub = tf.subtract(x,a)
#增加一個加法op
add = tf.add(x,sub)
init = tf.global_variables_initializer()
sess = tf.compat.v1.Session()
sess.run(init)
print(sess.run(sub))
print(sess.run(add))
在寫如上代碼的時候總是報如下錯誤:
module 'tensorflow' has no attribute 'global_variables_initializer'
後來又在網上搜索,網友給出的答案是使用variables_all_initializer,但是依然報同樣的錯誤。
於是我自己開始琢磨,查找了tf中的方法也沒有初始化變量的。後來我想上述錯誤是因爲版本不一致導致的,那麼如果讓版本一致不就可以了嗎,於是我把代碼改成了tf.compat.v1.global_variables_initializer().
總算運行成功了。於是我想必須寫一個博客,讓更多人少入坑。
更多內容請掃描下方二維碼關注博主微信公衆號:程序員大管