課程源於bilibili上的Codehub的tensorflow課程 ……
此筆記主要目的是自己理解和記錄,如果能幫到其他人十分開心
首先安裝anaconda
pip install tensorflow #安裝tensorflow
瞭解基本概念 圖是基於會話的 session,圖中有操作(operate,簡稱op)和數據(tensor)
比較值得注意的是每次都需要初始化 變量 導入session 在session的基礎上添加操作和結果。今天學習到的賦值操作比較特殊
利用assign函數
update=tf.assign(state,new_value)
默認將參數new_value付給參數state,這個操作名字叫update 每次調用update就可以實現這個功能。
附今天學習的時候寫的代碼
# In[2]:
import tensorflow as tf
# In[14]:
#創建一個常量op
m1=tf.constant([[3,3]])
#創建一個常量op
m2=tf.constant([[2],[3]])
#創建一個矩陣乘法的op 把m1,m2 傳入
product=tf.matmul(m1,m2)
print(product)
# In[5]:
#定義一個會話,啓動默認的圖
sess=tf.Session()
#調用sess的run方法來調用矩陣乘法 product
#run(product)觸發了圖中的3個op
result=sess.run(product)
print(result)
sess.close()
# In[6]:
#創建sess的常用方法,這樣就不需要關閉session了
with tf.Session() as sess:
#調用sess的run方法來調用矩陣乘法 product
#run(product)觸發了圖中的3個op
result=sess.run(product)
print(result)
# In[11]:
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()
with tf.Session() as sess:
#首先在會話中進行變量初始化的操作
sess.run(init)
print(sess.run(sub))
print(sess.run(add))
# In[ ]:
#創建一個變量初始化爲0
state=tf.Variable(0,name='counter')
#創建一個op 使state加一
new_value=tf.add(state,1)
#賦值操作 assign 在tensorflow中不能用等號直接賦值,只能用assign方法 這個方法名字叫 update 作用是將第二個值賦給第一個值
update=tf.assign(state,new_value)
#只要出現了變量,就要對變量進行初始化操作
init=tf.global_variables_initializer()
#再次定義一個會話
with tf.Session() as sess:
sess.run(init) #在會話中初始化變量
print(sess.run(state))
for _ in range(5):
sess.run(update)#調用update方法 更新state的值
print(sess.run(state))#每更新一次,打印出來