這篇文章給大家介紹Tensorflow中執(zhí)行順序和控制依賴的關(guān)系是什么,內(nèi)容非常詳細(xì),感興趣的小伙伴們可以參考借鑒,希望對(duì)大家能有所幫助。
專注于為中小企業(yè)提供成都網(wǎng)站設(shè)計(jì)、做網(wǎng)站服務(wù),電腦端+手機(jī)端+微信端的三站合一,更高效的管理,為中小企業(yè)寧夏免費(fèi)做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動(dòng)了超過千家企業(yè)的穩(wěn)健成長(zhǎng),幫助中小企業(yè)通過網(wǎng)站建設(shè)實(shí)現(xiàn)規(guī)模擴(kuò)充和轉(zhuǎn)變。
Tensorflow不會(huì)立即運(yùn)行已定義的操作,而是會(huì)在圖形中創(chuàng)建相應(yīng)的節(jié)點(diǎn),并使用Session.run()方法對(duì)其進(jìn)行計(jì)算。這使的Tensorflow在運(yùn)行時(shí)可以進(jìn)行優(yōu)化,確定以最佳的執(zhí)行順序并盡可能修剪未使用的節(jié)點(diǎn)。如下例子,這里我們創(chuàng)建3個(gè)張量,兩個(gè)常量張量和另一個(gè)存儲(chǔ)加法結(jié)果的張量。在這里我們是不能覆蓋張量的值,如果要修改張量值,我們必須創(chuàng)建一個(gè)新的張量然后再賦值給它。運(yùn)行結(jié)果是3。
注意:如果圖中只有tf.Tensors,我們是不需要擔(dān)心依賴關(guān)系的,但是我們有可能會(huì)用到tf.Variables,tf.Variables會(huì)讓依賴關(guān)系變得更加復(fù)雜。所以我們盡量使用張量,只有張量不能工作時(shí)才讓Variables來(lái)做。
與張量不同,變量是可更新的。如何我們使用變量來(lái)做上面同樣的事情
張量c在這里會(huì)出現(xiàn)不確定性值,這個(gè)值可能是3或7,取決于相加操作和賦值操作哪個(gè)先執(zhí)行。
在代碼中定義的操作順序與Tensorflow運(yùn)行是無(wú)關(guān)的。唯一需要關(guān)注的是控制依賴關(guān)系。張量的控制依賴性很簡(jiǎn)單,每次在一個(gè)操作中使用張量時(shí),該操作都會(huì)定義該張量的隱式依賴關(guān)系。當(dāng)處理變量時(shí),需要使用tf.control_dependencies()按如下方式顯式定義依賴關(guān)系。
關(guān)于Tensorflow中執(zhí)行順序和控制依賴的關(guān)系是什么就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到。