Codehub的tensorflow學習筆記1_簡單tensor,op和變量操作

課程源於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))#每更新一次,打印出來

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