筆者最近經常會在機器學習的課程中聽到Tensorflow,為了滿足自己的好奇心,就搜尋了一下這個單字,結果發現TensorFlow是一個機器學習框架,如果使用者有非常多的資料就可以透過TensorFlow快速的訓練一個有用的模式(例如:利用類神經網路做文字的辨識)。TensorFlow是一個開源軟體庫(2015年開始使用),用於各種感知和語言理解任務的機器學習。目前被50個團隊用於研究和生產許多Google商業產品,如語音辨識、Gmail、Google 相簿和搜尋,其中許多產品曾使用過其前代軟體DistBelief (2011年開始使用,它是Google推出的第一代內部深度學習框架,能夠幫助Google利用自家的數據中心構建大型的神經網絡)

 

1.jpg

 

以下的圖是TensorFlow的操作流程,TensorFlow 提供了一系列的工作流程,可使用 Python、JavaScript 或 Swift 來開發及訓練模型,無論你使用的是哪一種語言,都能在雲端、內部端、瀏覽器端或裝置端輕鬆部署模型。TensorFlow可以讓使用者做到資料的前處理、模式的選擇、最後模型的部屬,可以流程化的完成。

 

2.jpg

圖形來源: https://www.ithome.com.tw/news/128304

 

TensorFlow包含以下的流程,主要可分為兩部分:

訓練過程:

  • 資料的處理:使用tf.data和TFRecord 可以高效的建置預處理資料集與訓練資料集。同時也可以使用TensorFlow Datasets,讓使用者可以快速載入常用的公開資料集。
  • 模型的建立與測試:使用即時執行模式和著名的神經網路高層 API框架 Keras,結合視覺化工具TensorBoard,可以簡單、快速地建立和測試模型。也可以通過 TensorFlow Hub 方便的載入已有的模型。
  • 模型的訓練:支援在CPU、GPU、TPU上訓練模型,支援單機和多台電腦平行訓練模型,充分利用大量資料和計算資源進行高效訓練。
  • 模型的匯出:將模型打包匯出為統一的SavedModel格式,方便遷移和部署。

部屬過程:

  • 伺服器部署:使用TensorFlow Serving 在伺服器上為訓練完成的模型提供高性能、且可平行運算的高流量 API。
  • 可攜式裝置和嵌入式設備部署:使用TensorFlow Lite將模型轉換為體積小、高效率的輕量化版本,並在可攜式裝置、嵌入式端等功耗和計算能力受限的設備上運行,支援使用 GPU 代理進行硬體加速,還可以配合Edge TPU 等外接硬體加速運算。
  • 網頁端部署:使用 TensorFlow.js,在網頁端等支援 JavaScript 運行的環境上也可以運行模型,支援使用WebGL進行硬體加速。

 

介紹了那麼多,到底TensorFlow要如何安裝呢,有在使用Python的使用者,可以透過以下步驟完成安裝

步驟一:安裝 Python 環境。此處建議安裝 Anaconda 的 Python 3.8 版本,這是一個開源的 Python 發行版本,提供了一個完整的科學計算環境,包括 NumPy、SciPy 等常用科學計算套件。Anaconda 的安裝連結可在此獲得(https://www.anaconda.com/products/individual)。

  • 步驟二:使用 Anaconda 內建的 conda 套件管理器建立一個 Conda 虛擬環境,並進入該虛擬環境。在命令列下輸入:

conda create --name tf2 python=3.8  # “tf2”是你建立的conda虛擬環境的名字

conda activate tf2    # 進入名為“tf2”的conda虛擬環境

  • 步驟三:使用 Python 套件管理器 pip 安裝 TensorFlow。在命令列下輸入:

pip install tensorflow

等待片刻即可安裝完畢。

 

參考資料:

  1. 簡單粗暴 TensorFlow 2(這是一本介紹TensorFlow 2非常有用的工具書) : https://tf.wiki/zh_hant/introduction.html
  2. TensorFlow 的官網: https://www.tensorflow.org
arrow
arrow
    全站熱搜

    晨晰部落格新站 發表在 痞客邦 留言(0) 人氣()