本節書摘來自異步社群《tensorflow技術解析與實戰》一書中的第2章,第2.5節,作者李嘉璇,更多章節内容可以通路雲栖社群“異步社群”公衆号檢視
tensorflow在運作中需要做一些矩陣運算,時常會用到一些第三方子產品,此外,在處理音頻、自然語言時需要也要用到一些子產品,建議一并安裝好。本書“實戰篇”中會大量用到這些擴充。
下面我們就來簡單介紹tensorflow依賴的一些子產品。
2.5.1 numpy
numpy是用來存儲和處理大型矩陣的科學計算包,比python自身的嵌套清單結構(nested list structure)要高效的多。它包括:
一個強大的n維數組對象array;
比較成熟的函數庫;
用于整合c/c++和fortran代碼的工具包;
實用的線性代數、傅裡葉變換和随機數生成函數。
numpy子產品的安裝方法如下:
<code>pip install numpy --upgrade</code>
2.5.2 matplotlib
matplotlib是python最著名的繪圖庫,它提供了一整套和matlab相似的指令api,十分适合互動式地進行制圖。用它可以畫出美麗的線圖、散點圖、等高線圖、條形圖、柱狀圖、3d圖等,而且還可以友善地将它作為繪圖控件,嵌入gui應用程式中。在後面的執行個體中,需要可視化地展現訓練結果或者中間的特征映射,就很友善。
matplotlib子產品的安裝方法如下:
``
pip install matplotlib --upgrade``
2.5.3 jupyter
jupyter notebook是ipython的更新版,能夠在浏覽器中建立和共享代碼、方程、說明文檔。界面相當友好,功能也很強大。其實,jupyter實際就是一個基于tornado架構的web應用,使用mq進行消息管理。
jupyter子產品的安裝方法如下:
pip install jupyter --upgrade``
打開jupyter notebook:
<code>jupyter notebook</code>
出現如下顯示:
浏覽器自動打開,啟動成功,界面如圖 2-11 所示。其中,在 tensorflow-1.1.0/tensorflow/ examples/udacity下有許多擴充名為.ipynb的示例檔案,讀者可以自行在浏覽器中打開和學習。

圖2-11
2.5.4 scikit-image
scikit-image[7]有一組圖像處理的算法,可以使過濾一張圖檔變得很簡單,非常适合用于對圖像的預處理。
scikit-image子產品的安裝方法如下:
pip install scikit-image --upgrade``
2.5.5 librosa
librosa是用python進行音頻特征提取的第三方庫,有很多方式可以提取音頻特征。
librosa子產品的安裝如下:
pip install librosa --upgrade``
2.5.6 nltk
nltk[8]子產品中包含着大量的語料庫,可以很友善地完成很多自然語言處理的任務,包括分詞、詞性标注、命名實體識别(ner)及句法分析。
nltk的安裝方法:
pip install nltk --upgrade``
安裝完成後,需要導入nltk工具包,下載下傳nltk資料源,如下:
2.5.7 keras
keras是第一個被添加到tensorflow核心中的進階别架構,成為tensorflow的預設api。第7章中會詳細講解keras的使用。
keras子產品的安裝方法如下:
pip install keras --upgrade``
2.5.8 tflearn
tflearn是另一個支援tensorflow的第三方架構,第7章中會詳細講解tflearn的使用。
tflearn子產品的安裝方法如下: