参考:https://blog.csdn.net/tuoyakan9097/article/details/81776019,写的很不错,可以参考
关于配环境,每个人都可能会遇到各种各样的问题,不同电脑,系统,版本,等等。即使上边这位大神写的如此详细,我也遇到了他这没有说到的问题。这些问题都是我自己遇到,通过百度和自己摸索出来的解决办法,不一定适用所有人,仅供参考。如果哪位大神能给我说一说我的那些操作的原理,不胜感激。
先说一下我的电脑,Windows10专业版,64位操作系统
Windows下Python版本TensorFlow需要Python 3.5支持,我的电脑本来是Python3.7,后来我直接卸载了重新装的Python3.5,起始可以参考大神所写的用Anaconda,创建虚拟环境,避免和原本电脑Python版本冲突等问题。
PS:Python 3.5官网下载有点慢,不过还好不大,贴个网盘链接https://pan.baidu.com/s/1mPG4o5kwtrFFWQna4GFSpg 提取码:u6jz
环境配置需要安装VS2015,这个比较大,可以先下载,然后往后看,我再解释为啥要用这个,以及版本选择。链接:https://pan.baidu.com/s/11VGz_V1QYYQflxDw-vNq4A 提取码:huqq
下面开始安装依赖库:
以管理员身份运行CMD
输入命令更新一下pip:pip install --upgrade pip
出现如下错误:
解决办法:找到Python的安装目录,右键-->属性,把只读去掉
继续报错:ImportError: No module named 'pip'
解决办法,输入命令:
python -m ensurepip python -m pip install --upgrade pip
下载tensorflow:
pip install --ignore-installed --upgrade tensorflow
PS:这种下载方式很慢,小妙招:
复制这个下载链接,(https://files.pythonhosted.org/packages/e4/61/66d7da05fa8cf0a6a5656f7e1dd98b0233a571326fbadf4f729c284b269e/tensorflow-1.13.1-cp35-cp35m-win_amd64.whl)在浏览器打开,下载会快一点,
下载完成后进入下载目录,输入:pip install tensorflow-1.13.1-cp35-cp35m-win_amd64.whl 进入安装
耐着性子等待下载安装,如果实在太慢,就试试我刚刚说过的方法。
安装完成测试一下
如果不报错还是值得开心的,如果你比较倒霉,重新进行安装吧。
继续安装Python依赖库安装(cython, easydict,opencv)
pip install cython pip install easydict
openCV我不建议也像他俩这样直接安装,https://www.lfd.uci.edu/~gohlke/pythonlibs/#opencv在这选一个安装(对应python版本和电脑系统)
确保TensorFlow和相关的依赖安装成功之后,
下载faster rcnn程序包:下载链接,解压,然后可以看一下里面的readme
在cmd中使用cd命令到解压后的文件夹下../data/coco/PythonAPI目录下,输入命令:
python setup.py build_ext --inplace
python setup.py build_ext install
执行时如果报错 Unable to find vcvarsall.bat,建议安装visual studio 2015,安装时默认的语言是C#和VB,需要把C++也勾上。如果已经安装了VS 2015,检查VS安装目录下是否有vcvarsall.bat文件,例如我的路径为:D:\Program Files (x86)\Microsoft Visual Studio 14.0\VC,如果没有此文件,表明安装时是默认安装的,还缺少C++编译文件,这个时候可以打开VS,新建项目,语言选择C++,此时VS会让你安装一个工具,安装后就好了
PS:一定是VS2015,不要别的版本,安装上面那个链接就行
下载VOC2007格式的数据集
下载地址:
http://host.robots.ox.ac.uk/pascal/VOC/voc2007/VOCtrainval_06-Nov-2007.tar
http://host.robots.ox.ac.uk/pascal/VOC/voc2007/VOCtest_06-Nov-2007.tar
http://host.robots.ox.ac.uk/pascal/VOC/voc2007/VOCdevkit_08-Jun-2007.tar
将下载后的三个压缩包解压到同一个文件夹下,以WinRAR为例,同时选中三个压缩包,右键,然后选择解压到当前文件夹
可以得到VOCDevkit文件夹,将VOCDevkit重命名为VOCDevkit2007,然后将这个文件夹拷贝到你自己的Faster-RCNN中data目录下。
下载预训练的VGG16网络模型:
下载地址:http://download.tensorflow.org/models/vgg_16_2016_08_28.tar.gz下载之后解压,文件重命名为vgg16.ckpt,
新建文件夹imagenet_weights,把vgg16.ckpt放到imagenet_weights下,再将imagenet_weights文件夹拷贝到data文件夹下,
这样,VGG16网络模型的地址应该类似于这在faster rcnn目录下运行命令样:../data/imagenet_weights/vgg16.ckpt
到这一步,按照过程就可以直接训练模型了:
在faster rcnn目录下运行命令
python train.py
重点来了,我配这个环境花了三天,在这迷了两天半,
出现错误:ImportError: No module named 'lib.utils.cython_bbox'
百度了一下,说是Python版本不对,我的Python应该是没问题的,进行很长时间的摸索,我自己给搞通了,解决方法如下:
cmd中进入faster rcnn解压文件夹,再进入lib\utils文件夹
输入命令:
python setup.py build_ext --inplace python setup.py build_ext install
我的理解,utils文件夹应该是没有编译,运行setup就是为了编译,可能不对,望哪位大神能为我解惑,不胜感激
在回到faster rcnn解压文件夹,输入命令:
python train.py
PS:如果出现这种错误:AssertionError: Path does not exist: D:\Workspaces\python\Faster-RCNN-TensorFlow-Python3.5-master\data\VOCdevkit2007\VOC2007\ImageSets\Main\trainval.txt
说明是你网络模型地址和数据集地址有问题,回到上面仔细看一看,是不是哪一步的文件夹的名字写错了啥的。
如果没问题就是在用VOCDevkit2007下的示例图片训练分类模型了。第一次运行时可能会报错说找不到matplotlib,scipy,PIL(对应的是pillow库)等,安装这些库就好了。
电脑配置过低,目前还在训练,后续再更。