HRnet之目标检测环境搭建指南

最近实验了一下基于FasterRCNN的HRnet目标检测效果很不错,地址在
https://github.com/HRNet/HRNet-Object-Detection

但是环境真的太难了。。。我现在机器是1080ti+cuda10.2,pytroch也比较新,是1.2的,编译不了apex和源码,一直报各种奇怪的错误,我一般遇到这种无法安装的情况,不会大改机器配置,毕竟还有其他的环境在用

(1)使用conda虚拟环境
还是不行,一直会报cuda版本和pytorch编译时候的cuda版本不兼容。
将cuda降级到10.0还是无效。

(2)使用容器技术
完整代码在https://github.com/LiuTodd/hrnet_object_detection_dockerfile
前提是需要安装好docker和nvidia-docker,建议大家费点时间安装一下。
思路很简单,去dockerhub上面找到相应的容器作为基础镜像,然后按照官方的教程一步一步的安装需要的软件。
下载好这些代码
在这里插入图片描述
然后编写dockerfile

FROM ianren/cuda9.0-cudnn7.0-tf1.5-keras2.1-pytorch1.0
RUN apt-get update
RUN apt-get install python3.6-dev -y
COPY cocoapi /cocoapi/
WORKDIR /cocoapi/PythonAPI/
RUN python setup.py build_ext install
COPY apex /apex/
WORKDIR /apex/
RUN python setup.py install --cuda_ext
COPY HRNet-Object-Detection /code/
WORKDIR /code/
RUN sh compile.sh
RUN python setup.py install 
WORKDIR /code/

然后构建镜像(hrnet是镜像的名字)

docker build -t hrnet .

使用运行镜像(挂载当前目录下的HRNet-Object-Detection文件夹)

nvidia-docker run -it -v $(pwd)/HRNet-Object-Detection:/code_current hrnet bash

将code代码挂过去,目的是为了方便对代码进行修改,实时同步出来,其他地方修改的变动在每次镜像关闭后不会保存,如果训练数据在其他地方可以继续挂载目录,如训练数据在data下面:

nvidia-docker run -it -v $(pwd)/HRNet-Object-Detection:/code_current -v /data/:/data/ hrnet bash

进入镜像后,cd到目录,会变成
在这里插入图片描述
之后就可以愉快的使用啦!!

你可能感兴趣的:(AI)