小白,第一次搭这个环境,花了很长时间,先是搭的cpu版本的,后来又尝试了gpu版本的,中间也有各种错误,这篇文章是tensorflow-gpu的,其实我觉得差不多,记录一下大致过程~~
用的是这个代码: https://github.com/dBeker/Faster-RCNN-TensorFlow-Python3
首先要注意显卡驱动和cuda的版本要对应
我装的是10.0的版本
附上链接: https://developer.nvidia.com/cuda-10.0-download-archive
下完之后运行exe文件进行安装就可以了,具体每一步是怎么样的也可以搜一下其他教程
地址: https://developer.nvidia.com/rdp/cudnn-archive
要登陆,然后自己选择要安装的版本,我装的是7.4.2 for cuda10.0的那一个
下载后解压得到几个文件夹,将文件夹里面的内容对应复制到cuda对应的文件夹下
地址: https://www.anaconda.com/distribution/
我下载的anaconda 自带的python是3.7的,可以之后自己创建一个新的基于python3.6的环境
打开anaconda prompt
依次输入:
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --set show_channel_urls yes
conda create -n tensorflow python=3.6 // 新建一个名为tensorflow的python为3.6的虚拟环境
输入:
activate tensorflow // 激活环境
输入:
pip install tensorflow-gpu==1.13.1 //安装指定版本的tensorflow-gpu
输入:
conda list // 查看当前环境下的包及对应的版本
地址: http://www.jetbrains.com/pycharm/download/#section=windows
选择anaconda安装目录下刚刚命名的虚拟环境下的python.exe
根据readme文件一步步执行即可
前面几步就不说了,第四步的时候可能会出现以下问题,应该是缺少vc++的编译环境,
我的解决方案:
https://github.com/philferriere/cocoapi
下载exe文件后安装
并将下载好的vgg16文件解压,更名为vgg16.ckpt,放入该新建的文件夹中
然后就可以在pycharm里面运行train.py了,默认迭代次数是40000,每5000次保存一次模型,如果觉得训练时间太长,只是想看一下最后的效果,可以修改默认值。
保存的模型在…\default\voc_2007_trainval\default文件夹下,对应四个文件
运行train.py的时候出现问题:
然后查到说tensorflow1.13.1要求tensorflow-estimator版本在13.0到14.0之间,因为我之前有试过tf2.1.0,所以tensorflow-estimator也是2.1.0的,然后换版本 pip install tensorflow-estimator==1.13.0
直接运行,报错
1、首先把demo.py Parse_args()函数的default改成vgg16,原先是res101
2、再把demo.py中最开始的NETS中的vgg16_faster_rcnn_iter_70000.ckpt改成vgg16.ckpt,这个是因为我并没有训练那么多次得到这个模型
3、之后在根目录下根据提示新建./output/vgg16/voc_2007_trainval+voc_2012_trainval/default/文件夹
4、把模型训练好以后生成的default文件夹下(这个: …\default\voc_2007_trainval\default)的这四个文件copy到刚刚新建的文件夹下,然后就可以运行啦~~
运行结果差不多就是这样的:
—————————————————————————————————————————————
大致过程应该是这样,这是跑完之后再总结写的,可能有遗漏的地方…
一开始配置GPU版本的时候,同学那里有cuda10.2的安装包我就直接用了,但是后面安装tensorflow-gpu==1.13.1后,运行的时候一直出问题,除非安装 tf 2.0,但是代码又是1.x的版本,不知道是不是因为这个原因不匹配,后来换成cuda10.0的就好了