歡迎你們前往騰訊雲+社區,獲取更多騰訊海量技術實踐乾貨哦~html
本文由 謝鳶 發表於 雲+社區專欄
TensorFlow是一款由Google構建的用於訓練神經網絡的開源機器學習軟件。TensorFlow的神經網絡以有狀態數據流圖的形式表示。圖中的每一個節點表示神經網絡在多維陣列上執行的操做。這些多維數組一般稱爲「張量」,所以稱爲TensorFlow。html5
TensorFlow架構容許在臺式機,服務器或移動設備中的多個CPU或GPU上進行部署。還有與Nvidia的並行計算平臺CUDA集成的擴展。這使得在GPU上部署的用戶能夠直接訪問並行計算任務所需的虛擬指令集和GPU的其餘元素。python
在本教程中,您將安裝TensorFlow的「僅CPU支持」版本。此安裝很是適合TensorFlow初學者,CPU版本不須要Nvidia顯卡。git
您能夠經過多種方式安裝TensorFlow。每種方法都有不一樣的用例和開發環境:github
在本教程中,您將在Python虛擬環境 virtualenv
中安裝TensorFlow。這種方法隔離了TensorFlow安裝並快速啓動和運行。完成安裝後,您將經過運行簡短的TensorFlow程序驗證安裝,而後使用TensorFlow進行圖像識別。數據庫
在開始本教程以前,您須要如下內容:macos
sudo
命令的帳戶virtualenv
沒有服務器的用戶能夠直接在騰訊雲實驗室Ubuntu服務器體驗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安裝正常。
爲了驗證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。
如今已經安裝了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),第一時間獲取更多海量技術實踐乾貨哦~
海量技術實踐經驗,盡在雲加社區!