tensorflow之變量初始化(tf.Variable)使用詳解
默認本系列的的讀者已經(jīng)初步熟悉tensorflow。
我們通過tf.Variable構(gòu)造一個variable添加進圖中,Variable()構(gòu)造函數(shù)需要變量的初始值(是一個任意類型、任意形狀的tensor),這個初始值指定variable的類型和形狀。通過Variable()構(gòu)造函數(shù)后,此variable的類型和形狀固定不能修改了,但值可以用assign方法修改。
如果想修改variable的shape,可以使用一個assign op,令validate_shape=False.
通過Variable()生成的variables就是一個tensor,可以作為graph中其他op的輸入。另外,Tensor類重載的所有操作符都被轉(zhuǎn)載到此variables中,所以可以通過對變量調(diào)用方法,將節(jié)點添加到圖形中。
import tensorflow as tf #創(chuàng)造variable.<initial-value>指定這個variable的type和shape w = tf.Variable(<initial-value>, name=<optional-name>) # 接著就可以把這個variable當做tensor運用在graph中. y = tf.matmul(w, ...another variable or tensor...) z = tf.sigmoid(w + y) # 通過`assign()`和相關(guān)方法給這個w賦值 w.assign(w + 1.0) w.assign_add(1.0)
一個graph啟動之前所有的variables必須都要賦值,實際上,變量初始化操作op只是一個賦值op,是將variables的初始值賦給variables自身。
# 在session中啟動graph. with tf.Session() as sess: # variable初始化. sess.run(w.initializer) # ...現(xiàn)在可以運行使用'w'的op...
給variables初始化最簡單的方法就是global_variables_initializer(),可以直接初始化所有variables:
# 初始化所有variables 的op init_op = tf.global_variables_initializer() # 在session中啟動graph. with tf.Session() as sess: # 啟動這個op sess.run(init_op) # ...現(xiàn)在可以運行使用variables的op...
但有時一個變量的初始化依賴于其他變量的初始化,但是為了確保初始化順序不能錯,可以使用initialized_value()。
以上這篇tensorflow之變量初始化(tf.Variable)使用詳解就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
- SpringMVC中使用@PathVariable綁定路由中的數(shù)組的方法
- spring mvc中的@PathVariable獲得請求url中的動態(tài)參數(shù)
- 使用Pycharm在運行過程中,查看每個變量的操作(show variables)
- asp中Request.ServerVariables的參數(shù)集合
- TENSORFLOW變量作用域(VARIABLE SCOPE)
- Pytorch基本變量類型FloatTensor與Variable用法
- PyTorch中的Variable變量詳解
- tensorflow 獲取所有variable或tensor的name示例
- SpringMVC使用@PathVariable接收參數(shù)過程解析
相關(guān)文章
基于Python編寫一個計算器程序,實現(xiàn)簡單的加減乘除和取余二元運算
這篇文章主要介紹了基于Python編寫一個計算器程序,實現(xiàn)簡單的加減乘除和取余二元運算,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-08-08Python密碼學Caesar?Cipher凱撒密碼算法教程
這篇文章主要為大家介紹了Python密碼學Caesar?Cipher凱撒密碼算法教程,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-05-05