關於TensorFlow,你應該知道的9個重點
译者 :江宗諭 原文作者:Cassie Kozyrkov (柯凯茜)
今天早晨,我發現我正從在美國舊金山舉行的「Google Cloud Next」大會,當中一場我十分享受的講座,摘要最喜愛的重點。這場講座的主題是「TensorFlow有什麼新功能?」
然後,我想了一會兒,想不到不跟您分享我這超級簡短摘要的理由(除了也許您不會看這段影片,但真的應該看一下,因為講者很棒)。所以,就讓我們開始吧!
#1 TensorFlow是一個強大的機器學習框架
TensorFlow是一個機器學習框架。如果您有許多資料,並且/或您正追求AI人工智慧的最先進技術,例如深度學習、神經網路⋯⋯等等,那TensorFlow也許會成為您新的超級好朋友。TensorFlow可不像是資料科學的瑞士小刀,它的功用奇大無比,堪比工業用車床,我的意思是,如果您想要的僅僅是透過20乘2的電子表格,繪製出迴歸線,那您大可不用繼續閱讀。
但如果巨大的功用是您所追求的,那TensorFlow會讓您感到很興奮!因它已被用來尋找新的行星;藉幫助醫生篩檢糖尿病導致的視網膜病變,以預防失明;藉提醒有關當局非法砍伐森林活動的跡象,以拯救森林。而AlphaGo和Google Cloud Vision更建立在TensorFlow之上,現在,您也可以嘗試看看!TensorFlow完全開放原始碼,您可以免費下載,並且馬上開始使用。
科學家藉由TensorFlow的幫助,發現了Kepler-90i行星。這使Kepler-90星系成為目前所知唯一的另一個星系,在軌道上共有8顆行星環繞單一恆星。至今,沒有其它星系被發現超過8顆行星,所以我猜想,我們太陽系與Kepler-90星系暫居榜首啦!想了解更多,請點這裡。
#2 不必用奇怪的方法寫程式
我愛上了TensorFlow Eager。
如果您過去曾使用過TensorFlow,並因它迫使您寫程式像個學者或外星人,而不像一個專業的程式開發者,所以尖叫地跑走。記得趕~快~回~來~喔!
TensorFlow的eager execution,讓您就像個純粹的Python工程師般,與TensorFlow互動。能直接一行接著一行,流暢地寫程式、除錯,而不是屏住呼吸,小心翼翼地建構那些巨大的圖。我自己這幾年恢復在大學擔學講師(並且很可能是個外星人),但自TensorFlow的eager execution發佈以來,我就愛上它了!
#3 您可以一行接著一行建構神經網路
Keras + TensorFlow = 更容易建構神經網路!
Keras 自發佈以來,一直都因著使用者親和性及易於產生原型,受用戶喜愛。而這兩點一直是舊版的TensorFlow,非常渴望擁有的特點。如果您喜歡物件導向的思維,並且喜愛一次一層地建構神經網路,那您將會愛上tf.keras。下圖中,僅僅幾行程式碼,我們已創造一個序列的神經網路,同時包括了如dropout這樣的標準配件。(記得提醒我,改天要眉飛色舞地說說我對dropout的比喻,它們包括了訂書機和流感。)
噢,你喜歡謎題,對嗎?保持耐心,不要一直去想訂書機喔!
#4 不再只有Python
好吧,我知道您已好一陣子抱怨TensorFlow對Python單一的狂熱,對吧!好消息是,TensorFlow不再只給Python愛好者使用,現在,它也支援許多其它的程式語言,從R語言到Swift再到JavaScript。
#5 使用者可在瀏覽器內訓練並執行模型
說到JavaScript,您可運用TensorFlow.js,在瀏覽器內訓練並執行模型。好好地研究這段酷炫的demo吧!當您回來時,我仍在這裡等您喔!
#6 針對微小的設備,TensorFlow有輕量化版本。
從博物館得到一台年久失修的桌上型電腦?烤麵包機?(同樣的東西?)TensorFlow Lite讓模型可在多樣裝置上執行,包括行動裝置、物聯網裝置⋯⋯等等,在推論速度上,比原本的TensorFlow快了三倍以上。是的,現在您可在Raspberry Pi或您的手機上,進行機器學習。在這段講座中,講者勞倫斯做了一件勇敢的事,就是當著數千人的面,在Android模擬器上,現場展示影像分類,而且⋯⋯成功了!
#7 特製的硬體效能更佳
如果您已厭倦等候CPU將資料處理完畢,以訓練您的神經網路,現在,您可以取得搭載了Cloud TPU,專門設計用來處理大量資料的硬體。TPU的T,意指「張量(Tensor)」,跟TensorFlow的Tensor有一樣的意思。巧合嗎?我認為不是!幾週前,Google宣佈第三版的TPU,目前發展到預覽版本。
#8 新的資料工作流程有顯著改善
您正運用numpy做些什麼呢?假設,您想要在TensorFlow中運用numpy,然後立刻退出,現在TF.data namespace使您在TensorFlow中的輸入處理,更容易表達且更有效率。Tf.data給您快速、彈性及容易使用的資料工作流程,並且與訓練同步。
#9 您不需從頭開始
您知道一種展開機器學習的枯燥無味的方式嗎?那就是在您的編輯器中,顯示一個完全空白的新頁面,並且根本沒有範例程式碼。現在,有了TensorFlow Hub的幫助,您可加入一項經過改良、更有效率的歷史悠久傳統,這項傳統就是取用某人的程式碼,然後稱它為自己的(又被稱作「職業軟體工程」)。
TensorFlow Hub是個針對可重複使用、預先訓練好的機器學習模型元件的套件庫,並將這些模型元件打包好,讓使用者進行單線重複使用。所以,自己來吧!
當我們正進行到社群和不要獨自掙扎地學習這個主題,您可能會想知道,TensorFlow恰好有了官方的YouTube頻道與部落格。
這是我摘要的總結。所以,以下是完整的講座,好好享受接下來的42分鐘!
您可以在这里阅读其他有趣的中文文章:bit.ly/ai_chinese