深度學習的坑--module 'tensorflow' has no attribute 'global_variables_initializer'

最近自己的深度學習基於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().

總算運行成功了。於是我想必須寫一個博客,讓更多人少入坑。

更多內容請掃描下方二維碼關注博主微信公衆號:程序員大管

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