tensorflow變量的使用(02-2)


import tensorflow as tf

x=tf.Variable([1,2])
a=tf.constant([3,3])

sub=tf.subtract(x,a)    #增加一個減法op
add=tf.add(x,sub)   #增加一個加法op

#注意變量再使用之前要再sess中做初始化,但是下邊這種初始化方法不會指定變量的初始化順序
init=tf.global_variables_initializer()
with tf.Session() as sess:
    sess.run(init)
    print(sess.run(sub))
    print(sess.run(add))


#################分割線#####################
#創建一個名字為‘counter’的變量 初始化0
state=tf.Variable(0,name='counter')
new_value=tf.add(state,1)   #創建一個op,作用是使state加1
update=tf.assign(state,new_value)  #賦值op
init=tf.global_variables_initializer()

with tf.Session() as sess:
    sess.run(init)
    print(sess.run(state))
    for _ in range(5):
        sess.run(update)
        print(sess.run(state))

看上邊的代碼,你會注意到與普通的編程有些區別:

  1. tensorflow中會用到init=tf.global_variables_initializer(),這種變量初始化的東西,但是明明在上邊定義的時候已經初始化了啊,哈哈,這只能說你在python中確實初始化了,但是在tf的session中你並沒有初始化;
  2. update=tf.assign(state, new_value) 賦值操作,直接用接口而不是用等號,這也就說明tensorflow不是用python實現的,是有c++實現的,你如果想把python中的值在session中修改,必須要用這種接口的方式

 

目錄:

  1. tensorflow簡介、目錄
  2. tensorflow中的圖(02-1)
  3. tensorflow變量的使用(02-2)
  4. tensorflow中的Fetch、Feed(02-3)
  5. tensorflow版helloworld---擬合線性函數的k和b(02-4)
  6. tensorflow非線性回歸(03-1)
  7. MNIST手寫數字分類simple版(03-2)
  8. 二次代價函數、交叉熵(cross-entropy)、對數似然代價函數(log-likelihood cost)(04-1)
  9. 多層網絡通過防止過擬合,增加模型的准確率(04-2)
  10. 修改優化器進一步提升准確率(04-3)
  11. 手寫數字識別-卷積神經網絡cnn(06-2)
  12. 循環神經網絡rnn與長短時記憶神經網絡簡述(07-2)
  13. 循環神經網絡lstm代碼實現(07-3)
  14. tensorflow模型保存和使用08
  15. 下載inception v3  google訓練好的模型並解壓08-3
  16. 使用inception v3做各種圖像分類識別08-4
  17. word2vec模型訓練簡單案例
  18. word2vec+textcnn文本分類簡述及代碼


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM