tensorflow函数方法
生活随笔
收集整理的這篇文章主要介紹了
tensorflow函数方法
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
1.tf.where(condition,x=None,y=None,name=None)
作用:該函數(shù)的作用是根據(jù)condition,返回相對(duì)應(yīng)的x或y,返回值是一個(gè)tf.bool類型的Tensor。
若condition=True,則返回對(duì)應(yīng)X的值,False則返回對(duì)應(yīng)的Y值。
2.tf.placeholder(dtype,shape=None,name=None)
參數(shù):
為什么要用placeholder?
- Tensorflow的設(shè)計(jì)理念稱之為計(jì)算流圖,在編寫程序時(shí),首先構(gòu)筑整個(gè)系統(tǒng)的graph,代碼并不會(huì)直接生效,這一點(diǎn)和python的其他數(shù)值計(jì)算庫(如Numpy等)不同,graph為靜態(tài)的。然后,在實(shí)際的運(yùn)行時(shí),啟動(dòng)一個(gè)session,程序才會(huì)真正的運(yùn)行。這樣做的好處就是:避免反復(fù)地切換底層程序?qū)嶋H運(yùn)行的上下文,tensorflow幫你優(yōu)化整個(gè)系統(tǒng)的代碼。我們知道,很多python程序的底層為C語言或者其他語言,執(zhí)行一行腳本,就要切換一次,是有成本的,tensorflow通過計(jì)算流圖的方式,幫你優(yōu)化整個(gè)session需要執(zhí)行的代碼,還是很有優(yōu)勢(shì)的。
- 所以placeholder()函數(shù)是在神經(jīng)網(wǎng)絡(luò)構(gòu)建graph的時(shí)候在模型中的占位,此時(shí)并沒有把要輸入的數(shù)據(jù)傳入模型,它只會(huì)分配必要的內(nèi)存。等建立session,在會(huì)話中,運(yùn)行模型的時(shí)候通過feed_dict()函數(shù)向占位符喂入數(shù)據(jù)。
激活函數(shù):
激勵(lì)函數(shù)主要是為計(jì)算圖歸一化返回結(jié)果而引進(jìn)的非線性部分。激勵(lì)函數(shù)位于tensorflow的nn庫(neural network, nn)。https://www.jianshu.com/p/55a47b1720ba
| tf.nn.relu() | max(0, x) | 大于零取原值,小于零取零 |
| tf.nn.elu() | 大于等于0的值取原值,小于0的值按照公式計(jì)算,a取值為1 | |
3.tf.nn.relu(features, name = None)
作用: 計(jì)算激活函數(shù)relu,即 max(0,features) ,大于零取原值,小于零取零。
import tensorflow as tfa = tf.constant([-1.0, 2.0]) with tf.Session() as sess:b = tf.nn.relu(a)print sess.run(b) #輸出的結(jié)果是:[0. 2.]4.tf.nn.elu(x)
按照公式上面大于等于0的值返回原值,小于0的值按照公式計(jì)算:
e = 2.718281828
-1: 1/2.718281828-1 = -0.6321205587664327
-3:1/(2.7182818282.7182818282.718281828)-1 =-0.9502129316069129
總結(jié)
以上是生活随笔為你收集整理的tensorflow函数方法的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: numpy数组的索引和切片
- 下一篇: sess.run()详解