歡迎大家前往騰訊雲+社群,獲取更多騰訊海量技術實踐乾貨哦~
介紹
TensorFlow是一款由Google構建的用於訓練神經網路的開源機器學習軟體。TensorFlow的神經網路以有狀態資料流圖的形式表示。圖中的每個節點表示神經網路在多維陣列上執行的操作。這些多維陣列通常稱為“張量”,因此稱為TensorFlow。
TensorFlow架構允許在桌上型電腦,伺服器或移動裝置中的多個CPU或GPU上進行部署。還有與Nvidia的平行計算平臺CUDA整合的擴充套件。這使得在GPU上部署的使用者可以直接訪問平行計算任務所需的虛擬指令集和GPU的其他元素。
在本教程中,您將安裝TensorFlow的“僅CPU支援”版本。此安裝非常適合TensorFlow初學者,CPU版本不需要Nvidia顯示卡。
您可以通過多種方式安裝TensorFlow。每種方法都有不同的用例和開發環境:
- Python和Virtualenv:在這種方法中,您可以安裝TensorFlow以及在Python虛擬環境中使用TensorFlow所需的所有軟體包。這將您的TensorFlow環境與同一臺機器上的其他Python程式隔離開來。
- Native pip:在此方法中,您在全域性系統上安裝TensorFlow。對於想要在多使用者系統上為每個人提供TensorFlow的人,建議使用此方法。此安裝方法不會在包含的環境中隔離TensorFlow,並且可能會干擾其他Python安裝或庫。
- Docker:Docker是一個容器執行時環境,它將其內容與系統上預先存在的包完全隔離。在此方法中,您使用包含TensorFlow及其所有依賴項的Docker容器。此方法非常適合將TensorFlow合併到已使用Docker的更大應用程式體系結構中。但是,Docker映象的大小會非常大。
在本教程中,您將在Python虛擬環境 virtualenv
中安裝TensorFlow。這種方法隔離了TensorFlow安裝並快速啟動和執行。完成安裝後,您將通過執行簡短的TensorFlow程式驗證安裝,然後使用TensorFlow進行影像識別。
準備
在開始本教程之前,您需要以下內容:
- 一臺 RAM 至少是 1G 的Ubuntu 16.04 伺服器
- 一個可以使用
sudo
命令的賬戶 - Python 3.3或更高版本並且已安裝
virtualenv
- 安裝了Git
沒有伺服器的使用者可以直接在騰訊雲實驗室Ubuntu伺服器體驗Tensorflow的安裝過程。
第1步 – 安裝TensorFlow
在此步驟中,我們將建立一個虛擬環境並安裝TensorFlow。
首先,建立一個名為tf-demo
的專案目錄:
mkdir ~/tf-demo
導航到新建立的tf-demo
目錄:
cd ~/tf-demo
然後建立一個名為tensorflow-dev
的新虛擬環境。執行以下命令以建立環境:
python3 -m venv tensorflow-dev
這將建立一個新tensorflow-dev
目錄,其中包含您在啟用此環境時安裝的所有軟體包。它還包括pip
和一個獨立版本的Python。
現在啟用您的虛擬環境:
source tensorflow-dev/bin/activate
啟用後,您將在終端中看到與此類似的內容:
(tensorflow-dev)username@hostname:~/tf-demo $
現在,您可以在虛擬環境中安裝TensorFlow。
執行以下命令安裝並升級到PyPi中可用的最新版本的TensorFlow :
pip3 install --upgrade tensorflow
TensorFlow將會安裝:
Collecting tensorflow
Downloading tensorflow-1.4.0-cp36-cp36m-macosx_10_11_x86_64.whl (39.3MB)
100% |████████████████████████████████| 39.3MB 35kB/s
...
Successfully installed bleach-1.5.0 enum34-1.1.6 html5lib-0.9999999 markdown-2.6.9 numpy-1.13.3 protobuf-3.5.0.post1 setuptools-38.2.3 six-1.11.0 tensorflow-1.4.0 tensorflow-tensorboard-0.4.0rc3 werkzeug-0.12.2 wheel-0.30.0
如果您想隨時停用虛擬環境,則命令為:deactivate
要在以後重新啟用環境,請導航到專案目錄source tensorflow-dev/bin/activate
並執行。
現在,您已經安裝了TensorFlow,讓我們確保TensorFlow安裝正常。
第2步 – 驗證安裝
為了驗證TensorFlow的安裝,我們將在TensorFlow中以非root使用者身份執行一個簡單的程式。我們將使用規範初學者的例子“Hello,world!” 作為一種驗證形式。我們將使用Python的互動式控制檯建立此程式,而不是建立Python檔案。
要編寫程式,請啟動Python直譯器:
python
您將在終端中看到以下提示
>>>
這是Python直譯器的提示,它表明它已準備好開始輸入一些Python語句。
首先,輸入此行以匯入TensorFlow包並使其可用作本地變數tf
。輸入程式碼行後按ENTER
:
import tensorflow as tf
接下來,新增以下程式碼行來設定訊息“Hello,world!”:
hello = tf.constant("Hello, world!")
然後建立一個新的TensorFlow會話並將其分配給變數sess
:
sess = tf.Session()
注意:根據您的環境,您可能會看到以下輸出:
2017-06-18 16:22:45.956946: W tensorflow/core/platform/cpu_feature_guard.cc:45] The TensorFlow library wasn`t compiled to use SSE4.1 instructions, but these are available on your machine and could speed up CPU computations.
2017-06-18 16:22:45.957158: W tensorflow/core/platform/cpu_feature_guard.cc:45] The TensorFlow library wasn`t compiled to use SSE4.2 instructions, but these are available on your machine and could speed up CPU computations.
2017-06-18 16:22:45.957282: W tensorflow/core/platform/cpu_feature_guard.cc:45] The TensorFlow library wasn`t compiled to use AVX instructions, but these are available on your machine and could speed up CPU computations.
2017-06-18 16:22:45.957404: W tensorflow/core/platform/cpu_feature_guard.cc:45] The TensorFlow library wasn`t compiled to use AVX2 instructions, but these are available on your machine and could speed up CPU computations.
2017-06-18 16:22:45.957527: W tensorflow/core/platform/cpu_feature_guard.cc:45] The TensorFlow library wasn`t compiled to use FMA instructions, but these are available on your machine and could speed up CPU computations.
這告訴您,您有一個可能針對TensorFlow進行優化以獲得更好效能的指令集。如果你看到這個,你可以放心地忽略它並繼續。
最後,輸入這行程式碼列印出hello
:
print(sess.run(hello))
您將在控制檯中看到此輸出:
Hello, world!
這表明一切正常,您可以開始使用TensorFlow來做一些更有趣的事情。
按下CTRL+D
退出Python互動式控制檯。
現在讓我們使用TensorFlow的影像識別API來更熟悉TensorFlow。
第3步 – 使用TensorFlow進行影像識別
現在已經安裝了TensorFlow並且您通過執行一個簡單的程式驗證了它,讓我們來看看TensorFlow的影像識別功能。為了對影像進行分類,您需要訓練模型。然後你需要編寫一些程式碼來使用該模型。要了解有關這些概念的更多資訊,您可以檢視騰訊雲學院人工智慧課程的相關內容。
騰訊雲社群提供了TensorFlow中文開發者手冊,包括程式碼和用於分類影像的訓練模型。
使用Git將TensorFlow模型庫從GitHub克隆到專案目錄中:
git clone https://github.com/tensorflow/models.git
當Git將儲存庫檢出到一個名為models
的新資料夾時,您將看到以下輸出:
Cloning into `models`...
remote: Counting objects: 8785, done.
remote: Total 8785 (delta 0), reused 0 (delta 0), pack-reused 8785
Receiving objects: 100% (8785/8785), 203.16 MiB | 24.16 MiB/s, done.
Resolving deltas: 100% (4942/4942), done.
Checking connectivity... done.
切換到models/tutorials/image/imagenet
目錄:
cd models/tutorials/image/imagenet
此目錄包含classify_image.py
使用TensorFlow識別影像的檔案。該程式從tensorflow.org
第一次執行開始下載訓練好的模型。下載此模型需要您的磁碟上有200MB的可用空間。
在這個例子中,我們將對Panda的預先提供的影像進行分類。執行此命令以執行映像分類器程式:
python classify_image.py
您將看到類似於此的輸出:
giant panda, panda, panda bear, coon bear, Ailuropoda melanoleuca (score = 0.89107)
indri, indris, Indri indri, Indri brevicaudatus (score = 0.00779)
lesser panda, red panda, panda, bear cat, cat bear, Ailurus fulgens (score = 0.00296)
custard apple (score = 0.00147)
earthstar (score = 0.00117)
您已使用TensorFlow的影像識別功能對第一張影像進行了分類。
如果您想使用其他影像,可以通過-- image_file
在python3 classify_image.py
命令中新增引數來完成此操作。對於引數,您將傳入影像檔案的絕對路徑。
結論
您已經在Python虛擬環境中安裝了TensorFlow,並通過執行幾個示例驗證了TensorFlow的工作原理。騰訊雲還有其他的相關主題,包括深度學習與計算機視覺和神經網路系列。
騰訊雲實驗室提供Tensorflow系列實驗室,省去配置環境可以直接在平臺上機學習Tensorflow。
參考文獻:《How To Install and Use TensorFlow on Ubuntu 16.04》
問答
相關閱讀
此文已由作者授權騰訊雲+社群釋出,原文連結:https://cloud.tencent.com/dev…
歡迎大家前往騰訊雲+社群或關注雲加社群微信公眾號(QcloudCommunity),第一時間獲取更多海量技術實踐乾貨哦~
海量技術實踐經驗,盡在雲加社群!