真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

怎么調(diào)試TensorFlow

本篇內(nèi)容主要講解“怎么調(diào)試TensorFlow”,感興趣的朋友不妨來(lái)看看。本文介紹的方法操作簡(jiǎn)單快捷,實(shí)用性強(qiáng)。下面就讓小編來(lái)帶大家學(xué)習(xí)“怎么調(diào)試TensorFlow”吧!

10年積累的成都網(wǎng)站制作、網(wǎng)站設(shè)計(jì)經(jīng)驗(yàn),可以快速應(yīng)對(duì)客戶對(duì)網(wǎng)站的新想法和需求。提供各種問(wèn)題對(duì)應(yīng)的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認(rèn)識(shí)你,你也不認(rèn)識(shí)我。但先網(wǎng)站設(shè)計(jì)后付款的網(wǎng)站建設(shè)流程,更有淮濱免費(fèi)網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。

TensorFlow從誕生以來(lái)就一直在深度學(xué)習(xí)框架中穩(wěn)居老大的位置,雖然自從2018年12月PyTorch 1.0 stable版本正式發(fā)布以來(lái),很快減小了差距,但是也難以超越。

怎么調(diào)試TensorFlow

TensorFlow的強(qiáng)項(xiàng)在于部署(包括TensorFlow Lite在移動(dòng)端部署)和運(yùn)行效率,另外對(duì)各種operation的支持特別齊全,基本上你能想到的算子都已經(jīng)實(shí)現(xiàn)好了,直接調(diào)用就好。除此之外,Google Brain的各項(xiàng)前沿研究,以及現(xiàn)在DeepMind的很多研究,開(kāi)源代碼肯定都是基于TensorFlow,比如現(xiàn)在很火的AutoML技術(shù)等等,所以成為No.1也是自然而然。

但是又不得不吐槽其調(diào)試功能,真是太難用了。這也直接導(dǎo)致了TensorFlow的學(xué)習(xí)曲線異常之陡,和vim的類似,學(xué)起來(lái)很難很痛苦,但是學(xué)好之后,那是相當(dāng)?shù)厮?/p>

怎么調(diào)試TensorFlow

那么,TensorFlow怎么調(diào)試呢?使用斷點(diǎn)還是print?亦或是高大上的tfdbg?都不是。

由于TensorFlow靜態(tài)圖的設(shè)計(jì)(eager模式除外,這個(gè)后面單獨(dú)討論),設(shè)置斷點(diǎn)根本無(wú)法獲取實(shí)際tensor的值,具體取值都在后臺(tái)以C++的方式執(zhí)行。那print呢?也只能打印出tensor的shape信息。tfdbg,這個(gè)官方開(kāi)發(fā)的專用工具該行了吧?不過(guò)我建議還是不要嘗試了,不僅要一點(diǎn)一點(diǎn)敲命令,我在debug大型程序的時(shí)候,直接卡死。

對(duì)了,還有一種暴力方法,我最開(kāi)始的時(shí)候在使用,就是把tensor拉出來(lái)sess.run一把,這樣的確可以得到tensor運(yùn)行的具體值,但是每次要手動(dòng)改,很麻煩。

好了,神器要出來(lái)了:tf.Print. 在老版本的TensorFlow中可以這么用,非常方便:

x = tf.Print(x,[x, x,shape, x[0], …], message=“x debug info”, summarize=100)

其中,x是需要打印的tensor,注意第一個(gè)輸入是x和輸出相同,但其實(shí)也可以不同,做一些操作,但一般debug不需要,所以等式左邊的輸出也是x.

第二個(gè)輸入在方括號(hào)內(nèi)表示需要打印的東西,可以是tensor x的具體值,或者是其shape,slice,甚至是函數(shù)。

第三個(gè)輸入message用來(lái)標(biāo)識(shí)這一處打印,可以自定義字符串。

最后的summarize控制輸出元素的數(shù)量,比如100就輸出x的前100個(gè)元素。

對(duì)于新版的TensorFlow,使用tf.print,語(yǔ)法如下:

        print_op = tf.print(x)

        withtf.control_dependencies([print_op]):

          out = tf.add(x, x)

        sess.run(out)

很方便吧?

雖然不如直接在PyCharm中設(shè)置斷點(diǎn)方便,但能把tensor打印出來(lái)定位問(wèn)題也就容易多了。當(dāng)然,如果是學(xué)習(xí)代碼,想單步跟蹤,建議使用eager模式,這就和PyTorch的方式非常相近了,當(dāng)然,犧牲的是運(yùn)行效率。

到此,相信大家對(duì)“怎么調(diào)試TensorFlow”有了更深的了解,不妨來(lái)實(shí)際操作一番吧!這里是創(chuàng)新互聯(lián)網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!


分享標(biāo)題:怎么調(diào)試TensorFlow
新聞來(lái)源:http://weahome.cn/article/jeohog.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部