笔记本 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就大功告成了

再运行以前的代码你会发现没有那句话了,而且速度快了很多。

 

 

 

 

 

 

 

 

 

 

 

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