1. 程式人生 > >對Tensorflow整體的理解介紹

對Tensorflow整體的理解介紹

 Tensorflow為一種機器學習庫。

優點:

    1.可自行設計神經網路結構;

    2.不需要通過反向傳播求解梯度,Tensorflow支援自動求導;

    3.通過C++編寫核心程式碼,簡化了線上部署的複雜度(通過SWIG實現Python,Go和JAVA介面);

    4.Tensorflow中內建TF.Learn和TF.Slim等元件,併兼容Sciket-learn estimator介面(evaluate、grid、search、cross、validation);

    5.資料流式圖支援自由的演算法表達,可實現深度學習以外的機器學習演算法;

    6.可寫內層迴圈程式碼控制計算圖分支的計算,可將相關的分支轉化為子圖並執行迭代計算;

    7.可進行並行設計,充分利用硬體資源。 

    8.具有靈活的移植性,編譯速度較快;

在資料並行模式上:Tensorflow主要面向記憶體足以裝載模型引數環境,從而實現計算效率的最大化;

支援卷積神經網路(Convolutional Neural Network ,CNN),迴圈神經網路(Recurent Neural Network,RNN),支援深度強化學習及計算密集的科學計算(偏微分方程求解);

在加入XLA後可以支援JIT和AOT,通過Bucketing trick可以比較高效的實現迴圈神經網路;目前只可計算靜態圖;

     通過Tendorflow Serving元件可以將Tensorflow 訓練好的模型匯出;並部署成可以對外提高預測服務的RESTful介面;從而實現了從研究到生成整條流水線的框架:

訓練模型——>除錯引數——>打包模型——>部署服務;”Tendorflow Serving元件是一個為生產環境而設計的高效能的機器學習服務系統。可以同時執行多個大規模深度學習模型,支援模型生命週期管理,演算法實驗,並可高效地利用GPU資源。“——內部開發員

     TensorBoard是tensorflow的一組Web應用:可監控Tensorflow執行過程(視覺化Compution Graph);目前支援5種視覺化:

       1.標量(scalars),2.圖片(images),3.音訊(audio),4.直方圖(histograms),5.計算圖(Computation Graph)

        其中Events Dashbo可以持續地監控執行時的關鍵指標:

      1.loss,2.學習速率(learning rate),3.準確率(accuracy)     ;

        Image Dashboard則可以展示訓練過程中使用者設定儲存的圖片;

        Graph Explorer則可以完全展示Tensorflow的計算圖;