筆記本 yolov3-tiny 加速的意外之喜(tf-AVX加速)

提示:

如果你用的是GPU,那就點擊本頁面右上角的X,本文針對的是CPU

 

環境

anaconda

python 3.7

tensorflow 1.13.1

numpy 1.16.0

 

背景:

    在學校做畢設,是基於樹莓派小車雲邊協同行人跟隨。我用的是yolov3 tiny算法作爲檢測行人的算法(因爲筆記本是輕薄本,性能很差)。現在基本做完了,但是yolov3t算法在我的筆記本上的運行速度是0.25s/幀,顯示畫面還是很卡的。於是乎我這幾天一直在找比yolov3t更輕便的算法,但是沒啥收穫,自我感覺這個網絡已經很簡單了。

    期間,由於我的網絡只用於檢測人,所以修改了輸出層(減少了點參數,沒準速度快一丟丟),到網吧用顯卡添加數據集去訓練,但是發現網吧的顯卡加速並不快,也就比用CPU快一倍的樣子,以前訓練VGG那可是快了十倍不止啊,就很奇怪,看着截止時間要30h,遂放棄。

    就在這一籌莫展,本着“差不多就行了”的思想準備放棄,收拾東西回家過年之時。我突然留意到每次運行代碼時出現的一段話,大意就是我的CPU支持AVX、AVX2編譯巴拉巴拉,我百度一搜,發現很多都是屏蔽這個消息的方法,但是有人說可以通過安裝別人處理好的tensorflow來讓CPU支持這個,而且還可以加速,還可以加速!

    我跟着方法,去Github下載,但是Github上下載都是下載整個倉庫,但是這也太大了,我又沒翻過牆,下載速度只有2Kb。去查如何下載於是花了2H通過SVN成功下載下來這個tensorflow,最後運行以前的代碼,發現速度確實加快了,從0.25s/幀到0.15s/幀,畫面順滑了許多。

    OK,酷炫!

 

方法:

首先,去github找到適合自己的tensorflow

https://github.com/fo40225/tensorflow-windows-wheel

我之前就是tensorflow1.13.1所以我下載的是這個

https://github.com/fo40225/tensorflow-windows-wheel/tree/master/1.13.1/py37/CPU/avx2

 

如果你也爲下載這個而煩惱請看下面的方法(會下載請跳過):

1. 下載tortoiseSVN,安裝好

2. 隨便創建個文件夾,在裏面鼠標右鍵然後點擊SVN Checkout

3. 將你要下載的文件的鏈接黏在第一行,然後把鏈接裏的 'tree/master' 改爲 'trunk'

4. 其他不動點OK,根據網速,我反正下載了兩次第一次失敗了,第二次用了30分鐘。

 

替換原來的tensorflow

1. 打開anaconda prompt,輸入

pip uninstall tensorflow

2. 把下載好的whl放到C:\Users\(rookie)\Anaconda3\Scripts下,然後再anaconda prompt上,輸入

pip install C:\Users\(rookie)\Anaconda3\Scripts\tensorflow-1.13.1-cp37-cp37m-win_amd64.whl

3. 如果提示你缺少包,pip會自動下載,但是速度一言難盡。所以我選擇自己下載,這裏推薦清華的包,鏈接如下:

https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple/opencv-python/

將後面的opencv-python替換你要安裝的包,基本上都有,而且下載速度十分快。下載好的whl和剛纔一樣安裝就行了。

安裝好tensorflow就大功告成了

再運行以前的代碼你會發現沒有那句話了,而且速度快了很多。

 

 

 

 

 

 

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章