1. 程式人生 > >【原創】TensorFlow安裝以及models示例驗證

【原創】TensorFlow安裝以及models示例驗證

如有轉載,請保留本行-》來自:http://blog.csdn.net/awedcvg
OK,世上有一種生物叫XX,所以才有這篇文字。
需要自己找2個模型,找來找去感覺還是TensorFlow靠譜一點。果斷上手。
開始糾結於win還是linux,後來看到win容易不相容,還是果斷斷腕,上linux。
目前主要還是用的win,linux算是新手,所以還是在虛擬機器中玩吧,
這樣導致的結構就是隻能安裝cpu版本的TensorFlow,虛擬機器無法玩cuda的。
雙系統?理論上可行,實際上算了吧,懶得折騰了。
然後linux,選神馬?Debian?紅帽?Centos?ubuntu?
後來還是參考了一下身邊人的一件,個人還是用ubuntu吧。
順便帶一句,vm裡安裝Debian,啟動後,出現左上角一個橫崗,進入不了系統可能的問題有2個
一是Debian系統太新 ,vm沒有識別,預設是ubuntu版本,這樣不行的,需要手動選擇Debian較舊的版本作為系統型別開始安裝。
二是安裝過程中的安裝過程中的某一方式選項選錯了,更改一下即可。
ubuntu16.04,安裝完畢,逐步安裝ssh,python2.7,ssh?虛擬機器中為了方便管理,還是用ssh吧
python2.7?你也可以用3.x,到時候注意選擇相依的TensorFlow包,需要精準對應。
然後安裝pip和dev

sudo apt-get install python-pip python-dev`

安裝,更新pip

pip install --upgrade pip

安裝TF咯

sudo pip install --upgrade https://pypi.python.org/packages/df/d7/0526ed0b717dd3473d0f2e2de803222a5c87b2c74a2a4736e474988509e3/tensorflow-1.1.0rc2-cp27-cp27mu-manylinux1_x86_64.whl#md5=a8f78328faa192983080c5c0bbdb0a73

‘#後面的md5應該可以省略,用於校驗。這裡注意,如果不是Python2.7,或不是cpu版,比如你物理機需要用gpu計算,請到

https://pypi.python.org/pypi/tensorflow/1.1.0rc2,選擇自己合適的版本,複製連結地址替換本命令的地址。
還有一個安裝路徑是:

 https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow-0.8.0-cp27-none-linux_x86_64.whl

但是貌似是需要翻牆的。所以先pass。
如果順利,TF就算安裝完成了,下面需要執行一下示例。
順帶說一下,TF的預設安裝路徑為

 /usr/local/lib/python2.7/dist-packages/tensorflow$

舊版本應該是帶models的,但是本文采用的方法內沒有models資料夾,需要自己單獨安裝。

/usr/local/lib/python2.7/dist-packages/tensorflow$ ls
contrib  core  examples  include  __init__.py  __init__.pyc  python  tensorboard  tensorflow  tools  #木有models
/usr/local/lib/python2.7/dist-packages/tensorflow$ sudo git clone --recurse-submodules https://github.com/tensorflow/models

這裡可以看一下,https://github.com/tensorflow工程裡有兩大塊,一塊是TensorFlow,一塊是models,這裡安裝models即可。
ok,安裝完了以後,會看到多了models資料夾,
安裝完畢
有models檔案夾了
文件內容如下:
這裡寫圖片描述
ok這裡可以看見,imagenet是用於物體識別的一個示例,mnist適用於手寫識別的一個示例。。其實都可以 執行一下,不過虛機資源有限,mnist預設訓練步驟很多,會花很長時間,可以看看前面幾步就可以了。
我們還是關注與一下imagenet吧 ,可以識別貓,狗,車等。。
我們安裝完models,實際的安裝還是沒有完,model只是將示例的原始碼進行了下載,但是原始碼中所需的模型和資料並沒有,因此,首次執行imagenet中的classify_image.py,還會下載資料模型和資料。
開啟這個檔案,會看到其下載內容為,http://download.tensorflow.org/models/image/imagenet/inception-2015-12-05.tgz
這個網站呢,很不穩定,初期都ping不通,提示說

 sudo python classify_image.py
…………
……
IOError: [Errno socket error] [Errno 101] Network is unreachable

多試幾次,發現又可以了,它會自動下載模型和資料,路徑呢,不在本目錄下面,在這裡
‘/tmp/imagenet’
這裡包含了改模型的資訊,包括能識別什麼,和一個示例的熊貓圖片。
就是它:
這裡寫圖片描述
ok,我們執行一下試試效果:
這裡寫圖片描述
ok,可以看出來訓練結果
這裡寫圖片描述
識別出來大熊貓、熊貓、熊貓熊?概率是89.107%,很不錯了吧。
giant panda上面那幾句話不用管,說什麼沒沒編譯,所以速度不快,神馬的不用管。
ok,我們可以更改classify_image.py原始碼來試試別的影象。來試個車吧,用這個:
這裡寫圖片描述
把它放在/tmp/imagenet/下面,然後我們來改程式碼,原始碼為:
這裡寫圖片描述
看到cropped_panda.jpg了麼?就是/tmp/imagenet/下面的那個熊貓圖片,我們把它改成汽車圖片的名字:
這裡寫圖片描述
儲存,來執行一下試試:
這裡寫圖片描述
ok,看到賽車的概率為95.061%。
至此TF大件以及model驗證即結束了,祝各位新手順利入門。