人工智能系列-什麼是TensorFlow?

https://baijiahao.baidu.com/s?id=1616932497947144583&wfr=spider&for=pc

TensorFlow幹什麼?

TensorFlows是人工智能AI領域的一個重要軟件工具,是谷歌開發的開源軟件(即免費的)。 人工智能領域分爲三個方面,即基礎層、技術層和應用層;而TensorFlow就是技術層中的學習框架。所謂學習框架,你可以用它來處理大量數據,快速建立數學模型,這些模型可以完成智能功能,例如自動識別一個圖片裏面的人物是否是范冰冰,當你百度范冰冰時,這個模型就可以識別並呈現范冰冰的圖片;TensorFlow就好像一個功能強大的機牀,它可以幫助製造出不同的產品(即數學模型)。

 

TensorFlow是什麼?

TensorFlow是一個軟件,在該軟件裏面,用戶需要使用Python等語言通過編程來搭建數學模型,這些模型被用於人工智能的應用,例如 通過模型判斷圖片中的物體分別是什麼,例如下圖的案例,某個模型識別出海邊左下角是人person並給出判斷的概率99%。

 

 

一般如何使用TensorFlow?

1.用戶向TensorFlow(簡稱TF))輸入搭建模型所需的信息,並轉化爲可處理數據 。TF可以處理圖片/視頻/音頻等信息。例如:用戶導入1萬張人物圖片,並通過TF將不同尺寸圖片統一裁剪爲24x24像素大小。

2.搭建模型。 TF提供很多的函數模塊,在搭建模型過程中,用戶可以調用這些函數。例如gradient descent梯度下降函數來求解模型的參數;如交叉熵損失loss()函數來判斷模型是否最優。

TF核心程序由2個獨立部分組成: a:Building the computational graph構建計算圖; b:Running the computational graph運行計算圖。例如簡單計算a+b, 對應的計算圖如下。 對應的程序代碼是:a = tf.placeholder(tf.float32),b = tf.placeholder(tf.float32),adder_node = a + b 。

 

一個實際的案例:MNIST是機器學習領域的一個經典問題,指的是讓機器查看一系列大小爲28x28像素的手寫數字灰度圖像,並判斷這些圖像代表0-9中的哪一個數字。對應的計算圖如下。

 

3.訓練和評估模型

循環地迭代式訓練和評估模型,以便確定模型中的參數。例如使用梯度下降(gradient descent)函數方法獲得交叉熵損失最小化。

訓練的每一步都是通過用戶代碼控制。 例如一個簡單循環是:for step in xrange(max_steps): sess.run(train_op) ;

3.1特點:狀態可視化 。在訓練模型過程中,有TensorBoard,查看即時數據的情況。

 

 

3.2 訓練過程大量計算部分可以分配給其他設備,如本機的GPU或其他服務器(即分佈式計算)。下面是一個案例,將訓練部分分配給2個GPU。

 

TensorFlow Lite是什麼?

人工智能的數學模型在訓練和評估時需要強大的計算設備來支持,例如幾個或幾百個服務器,最後得到的數學模型的文件也很大,一般無法在手機等移動終端上使用。於是在2017年穀歌發佈了TensorFlow Lite,提供簡單的、小文件的數學模型,用於在手機等設備上使用。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章