在使用本文讲述的环境搭建之前,首先你需要安装Anaconda……如,我的Anaconda3-5.2.0安装在了E:\Python\Anaconda3中,接下来如何建立整洁的conda环境以及tensorflow环境配置。
1. 打开Anaconda Prompt,查看当前所有的conda环境:conda info -e
一开始只有root
2. 创建conda环境的方法:conda create -n tensorflow pip python=3.6.2
这样就会得到如上图所示的“tensorflow”环境了,命名“tensorflow”(根据自己需求来)
3. 激活进入环境:activate tensorflow
4. 查看环境内的packages列表(不同环境下相互之间不影响,package根据需求可在相应环境下独立安装):conda list
红框表示这些包在“tensoflow”环境下。
5. 在使用pip命令安装的时候,经常因为源的缘故,下载速度极其慢导致失败。采用好的源能够快很多:
国内源:
清华:https://pypi.tuna.tsinghua.edu.cn/simple
阿里云:http://mirrors.aliyun.com/pypi/simple/
中国科技大学 https://pypi.mirrors.ustc.edu.cn/simple/
使用方法:pip install -i https://pypi.tuna.tsinghua.edu.cn/simple [包名]
使用“[包名]==[版本号]”可以指定安装特定版本;
6. 接下来是安装tensorflow和采用RetinaNet模型进行环境检测的过程(中间遇到很多问题并一一解决):
(1)首次安装时,我采用的是:conda install tensorflow-gpu==1.10.0
结果不仅安装了tensorflow,还奇迹般地安装了cuda和cudnn,并且与tensorflow、gpu兼容;
(原本还想安装网上的教程一个个安装的,现在感觉可以省很多事),import tensorflow成功。
(2)接着拿retinaNet模型来试一下环境,从网上下载模型(github:https://github.com/fizyr/keras-retinanet)
打开/keras-retinanet-master,里面的setup.py文件用于安装这个模型的依赖包,按照README.md文件指引是推荐 我们使用:pip install . ,安装所有的依赖包,但是这样有几率出现解析很慢/卡死/需要等很久的情况,这里我踩了 坑,很多次都没搞定,因此后来不采用这个方法;
打开setup.py文件,可以看到该模型需要的依赖包和要求:
根据需求,我们依次在我们建立的“tensorflow”环境下使用:pip install [包名] 命令进行安装即可。(安装过程中有 可能会提示你Keras版本过高等问题,按照提示安装提示推荐的适用版本即可。
(3)最后想运行识别代码peoplecar.py看一下,
结果报错:ValueError: numpy.dtype has the wrong size, try recompiling
这是numpy版本太低的原因,
pip uninstall numpy
pip install numpy #这样会安装最新的numpy
安装过程中提示,tensorflow要求的numpy版本有范围限制,不能大于1.14.5或者小于……,这就尴尬了版本太高又 不行,通过试安装1.14.5,报同样的错;
因此只能含泪卸载tensorflow,接着安装tensorflow==1.14.0,接着把numpy也升到最新。痛苦的事情又发生了,这 次import tensorflow就报错了,提示需要10.0的cuda,但是我的gpu只能兼容9的……
再一次卸载tensorflow,安装tensorflow==1.12.0,import tensorflow #成功。
接着运行模型代码,报错:
FutureWarning: Passing (type, 1) or '1type' as a synonym of type is deprecated; in a future version of numpy, it will be understood as (type, (1,)) / '(1,)type'._np_quint8 = np.dtype([("quint8", np.uint8, 1)])
numpy版本太高,降低到1.16.5,最后代码跑通(完美~)。
最后,大功告成,并成功将包都装在了自己需要的地方,不会向以前那样,环境越来越乱。。。
附上我适用的人车识别源代码,github:https://github.com/RoyPeng-yz/Human_Vehicle-Identification-System
新建完毕环境后,最终使用的命令如下:
conda install tensorflow-gpu==1.12.0
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple pillow
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple opencv-python
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple kersa==2.2.4
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple keras_resnet
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple numpy==1.16.5