Detectron2如何部署环境和安装
这篇文章给大家分享的是有关Detectron2如何部署环境和安装的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。
10多年的富阳网站建设经验,针对设计、前端、开发、售后、文案、推广等六对一服务,响应快,48小时及时工作处理。营销型网站的优势是能够根据用户设备显示端的尺寸不同,自动调整富阳建站的显示方式,使网站能够适用不同显示终端,在浏览器中调整网站的宽度,无论在任何一种浏览器上浏览网站,都能展现优雅布局与设计,从而大程度地提升浏览体验。创新互联建站从事“富阳网站设计”,“富阳网站推广”以来,每个客户项目都认真落实执行。
part1 : 杂七杂八和碎碎念
1. 首先建立detectron2_notebook文件夹 和 detectron2 的项目

2. 其次,建立在远端服务器上的docker ,并设置两个项目能够通过pycharm远程调试

3. 之后,在远程安装利用 python setup.py develop 安装detectron2 ,
3.1 这样子就能确保本地对detectron2 的修改在远端是能够生效的
3.2 同时也比较好方便自己对detectron2 进行魔改

4. 训练、测试和使用detectron2 的脚本,都会设立在notebook 文件夹中,方便以后整体“打包带走”
接下来我会一步一步的介绍如何完成这些操作
part2 :安装detectron2
一、docker 环境配置
工欲善其事必先利其器。所以在开始学习之前,当然是要认真的搭建一个可以使用的开发环境啦。首先假设你有一台可以使用CUDA10 的服务器(配CUDA环境的视频很多,这里不多赘述),一般来说呢,正常的开发环境是这样设计的:

如图,可以分为如下几个流程:
首先会在服务器中启动好docker 容器,并暴露容器中的若干端口
一般至少会暴露:
22端口,方便pycharm ssh 连入docker进行远程调试
其他至少一个端口,方便启动jupyterlab,好查看容器上的文件和进行命令行操作
在容器中启动 jupyter lab ,并通过chrome 访问 jupyter lab, 方便文件的编辑、修改(我完全不会用vim...)
利用pycharm 连接服务器,使得能够利用pycharm进行远程调试,便于修改和debug代码
至于如何配置一个能够支持detectron2开发的dockerfile嘛,基本可以参考官方的版本:
https://github.com/facebookresearch/detectron2/blob/master/Dockerfile
在此基础之上,需要在容器中进行如下额外的操作:
配置容器的 ssh 免密登录
.jpg)
启动jupyterlab ,使得能够在自己的电脑上通过网页访问
.jpg)
二、pycharm的配置流程
在确保了docker 的可用之后,下一步就是需要配好pycharm 使得支持远程调试了,由于这一步比较繁琐,这里仔细的介绍一下相关的步骤。
2.1 配置服务器上传路径
.jpg)
2.2 配置服务器信息
.jpg)
2.3 配置服务器上传目录
.jpg)
2.4 配置远程调试环境
.jpg)
2.5 新建一个环境
.jpg)
2.6 选择ssh ,设置为刚才建立的环境

2.7 选择容器中具有pytorch依赖的python3,并设置上传的目录为2.3上的目录

2.8 配置完成

2.9 确认配置

2.9 一些注意
注意到我这里是把detectron2 和 我自己的notebook 放在了一个文件夹下,并且上传到服务器,这样做是我觉得比较方便管理,使得我在远端安装的detectron2的代码就来自于本地的这一份代码,方便改动

2.10 手动上传一次所有的数据

在右侧的remote host 中应该可以查看到对应的文件结构

2.10 确认能否调通
新建一个 hello_remote.py

执行

确认现在的执行信息为使用远端的服务器执行远端的文件:

三、detectron2 的安装
3.1 安装依赖
在jupyter lab中,新建一个命令行窗口(这时候就体现出jupyter lab 的方便了)
# 首先要保证有 pytorch2.3 , torchvision,其次安装如下依赖
pip3 install 'git+https://github.com/facebookresearch/fvcore'
pip install cython; pip install 'git+https://github.com/cocodataset/cocoapi.git#subdirectory=PythonAPI'
3.2 执行 python3 install develop安装

3.3 确保detectron2 能够被成功的import

part3 :run demo ,跑出封面图!
首先,从detectron2/demo 中拷贝出predictor到同目录下,从configs/Misc/ 拷贝cascade_mask_rcnn_R_50_FPN_1x.yaml 到同一级别的目录下:

其次,在远端服务器中,把模型
https://dl.fbaipublicfiles.com/detectron2/Misc/cascade_mask_rcnn_R_50_FPN_1x/138602847/model_final_e9d89b.pkldl.fbaipublicfiles.com
下载到新建立的model文件夹中

修改拷贝的yaml ,使得指向下载的pkl

然后执行如下脚本即可:

感谢各位的阅读!关于“Detectron2如何部署环境和安装”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!
分享名称:Detectron2如何部署环境和安装
转载来源:http://scyanting.com/article/peggjc.html