當前位置:
首頁 > 最新 > 別急!看完文章再來說你懂TensorFlow

別急!看完文章再來說你懂TensorFlow

內容來源:2018 年 3 月22 日,Google軟體工程師劉仁傑在「OSCAR雲計算開源產業大會」進行《TensorFlow in Deep Learing Applications》演講分享。IT 大咖說(微信id:itdakashuo)作為獨家視頻合作方,經主辦方和講者審閱授權發布。

閱讀字數:2714 | 7分鐘閱讀

摘要

本次演講首先討論TensorFlow的一些高階API,然後介紹最新的Eager Execution模式和解決IO瓶頸的tf.data,還有移動端解決方案 TensorFlow Lite,以及TensorFlow在google內部的應用。最後探討如何將TensorFlow變的更好。

嘉賓演講視頻及PPT回顧:http://suo.im/4Hffv1

TensorFlow 簡述

目前深度學習的網路和結構越發複雜和龐大,而TensorFlow的出現讓我們可以更方便快捷的處理這些複雜的模型。它非常的靈活且支持眾多的終端,能夠兼容多種語言,包括Java、C++、GO、C# 等等。作為一個整套工具,TensorFlow能夠很直觀的查看計算的結果,提供了便捷的調試機制。目前 TensorFlow正在藉助開源社區的力量進一步壯大。

TensorFlow APIS

Tf.estimator

目前TensorFlow推出了眾多高階 API 來幫助開發者更有效率的工作。以前通過TensorFlow寫線性回歸,需要定義眾多的參數,在使用新的高級API tf.estimator後只需要使用簡單的幾行代碼,就能將模型搭建出來。而且僅改動一行代碼,原來的線性回歸模型就會被轉化成相對複雜的DNN模型。同時 estimator也支持分散式訓練,包括模型類分布和數據類分布,當圖比較大時可以將操作並行的分別在不同機器上,或者模型不切分但還是跑在不同機器上同時進行快速的更新。

Tf.layers

Estimator雖然是一個很好的切入點,但是無法滿足一些用戶的自定義需求。這要通過偏底層的tf.layers API解決問題,下圖是個簡單的例子,每個 tf.layers強制對應一行代碼並將它們一層層的連在一起。

Tf.keras

keras之前在社區一直都是非常火的工具,現在keras的作者來到了google並幫助在TensorFlow中搭建了tf.Keras,方便之前習慣使用keras的用戶。它的大部分特性和之前並無區別,還能和tf.layers共存。

Eager Execution

TensorFlow是以靜態圖的方式進行計算,將眾多操作整合在一起減少資源,並且它的資源定義能夠減少大量錯誤。雖然這種方式很不錯,但是對於剛開始接觸的用戶來說使用並不是太方便,他們想要的是能夠像編寫Python一樣一步步的看到結果。針對這一需求TensorFlow提供了Eager Execution模式,讓用戶每一步都能看到結果。

Eager Execution更多的幫助初學者理解TensorFlow的處理機制以及交互性,能夠隨時發現錯誤,並且與大部分的高階API兼容的。

Input Pipeline:tf.data

目前大部分的應用面臨的瓶頸並不是計算,現有的GPU、CPU已經能夠很好的應付龐大的計算量。最主要的問題還是在IO上,於是Datasets API出現了。它使用起來非常簡單,只需要事先構建TFRecordDataset,之後就可以和正常操作一樣,使用repeat、shuffle、filter等。

TensorFlow Lite

出於對手機內存容量限制以及耗電量的考慮,TensorFlow推出了TensorFlow Lite,讓模型變的更輕巧以便在移動端運行。

上圖是TensorFlow Lite的創建過程,要明確的是使用的依舊是TensorFlow訓練好的模型,然後通過Converter轉換成TensorFlow Lite模式,之後就能將它部署到手機端。手機端使用TensorFlow Lite Interpreter解釋器進行相應的優化,比如合併一些不必要的操作。

TensorFlow Lite的dependencies相比之前更小。它使用TOCO工具進行圖的轉換,將TensorFlow的圖轉換為TF Lite。藉助到quantization可以將32位或者64位的模型轉化成8位以獲得更小的體量。

TensorFlow Applications in Google

早期的翻譯軟體是基於統計的,在沒有足夠語言對的情況下正確率無法保障,短語翻譯效果也不太好顯得生硬。藉助神經網路上述問題會得到有效改善。

不光是在翻譯領域,google內部的各種應用都用到了TensorFlow ,比如 YouTube和 PlayStore推薦、安卓的個性化。

AutoML

人為的搭建模型挑選網路的結構是非常麻煩的事,要耗費大量的人力物力以及機器計算力。於是我們就想到用機器學習去完成機器學習,這個想法已經得到了驗證,它就是 AutoML。

Data Center Optimization

Google內部有很多的機器在運行,如何合理的控制機器開關,以及包括製冷之類的其他事項是相當有難度的問題。在引入機器學習後整個成本大幅的降低。

TensorFlow Roadmap

TensorFlow從各個層次考慮,做出優化,所想達到的唯一目標就是讓用戶能夠更方便快捷的搭建數據模型。為此我們還會在各方面做出改進。

今後對非Python語言的會有更好的支持。同時為了讓TensorFlow更加易用,我們將會提供更多的高階API,另一方面讓用戶能夠使用維護良好的模型直接部署應用。接下來TensorFlow還會提供對OpenCL的支持。

有問題可以在評論區討論,以上為所有分享內容,謝謝大家!


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 IT大咖說 的精彩文章:

大數據共享時代的行業變局
超實用的ios面試技巧,90%的人都不知道……

TAG:IT大咖說 |