温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Detectron2如何部署环境和安装

发布时间:2021-11-25 11:17:04 来源:亿速云 阅读:558 作者:小新 栏目:大数据

这篇文章给大家分享的是有关Detectron2如何部署环境和安装的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。


part1 : 杂七杂八和碎碎念

因为Detectron2 本质是可以被“安装”的,即在其他的文件目录下也可以使用detectron2 中相关的内容,所以我采用了如下的学习思路,首先建立了一个detectron2_notebook的文件夹,并和detectron2放在一个目录下:
1. 首先建立detectron2_notebook文件夹 和 detectron2 的项目
Detectron2如何部署环境和安装  
notebook中,d2learn 会放一些代码,notebook中存放markdown  
2. 其次,建立在远端服务器上的docker ,并设置两个项目能够通过pycharm远程调试
Detectron2如何部署环境和安装
3. 之后,在远程安装利用 python    setup.py   develop 安装detectron2 ,
    3.1 这样子就能确保本地对detectron2 的修改在远端是能够生效的
    3.2 同时也比较好方便自己对detectron2 进行魔改
Detectron2如何部署环境和安装
4. 训练、测试和使用detectron2 的脚本,都会设立在notebook 文件夹中,方便以后整体“打包带走”

接下来我会一步一步的介绍如何完成这些操作


part2 :安装detectron2

一、docker 环境配置

工欲善其事必先利其器。所以在开始学习之前,当然是要认真的搭建一个可以使用的开发环境啦。首先假设你有一台可以使用CUDA10 的服务器(配CUDA环境的视频很多,这里不多赘述),一般来说呢,正常的开发环境是这样设计的:

Detectron2如何部署环境和安装

如图,可以分为如下几个流程:

  • 首先会在服务器中启动好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 免密登录
Detectron2如何部署环境和安装  
这里我使用 14371 登录,是因为我把容器的22 端口映射到了服务器的14371 端口  
启动jupyterlab ,使得能够在自己的电脑上通过网页访问
Detectron2如何部署环境和安装  
同样的,我把容器内jupyter启动的端口映射到了服务器的14374端口  

二、pycharm的配置流程

在确保了docker 的可用之后,下一步就是需要配好pycharm 使得支持远程调试了,由于这一步比较繁琐,这里仔细的介绍一下相关的步骤。

2.1 配置服务器上传路径

Detectron2如何部署环境和安装

2.2 配置服务器信息

Detectron2如何部署环境和安装

2.3 配置服务器上传目录

Detectron2如何部署环境和安装

2.4 配置远程调试环境

Detectron2如何部署环境和安装

2.5 新建一个环境

Detectron2如何部署环境和安装

2.6 选择ssh ,设置为刚才建立的环境

Detectron2如何部署环境和安装

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

Detectron2如何部署环境和安装

2.8 配置完成

Detectron2如何部署环境和安装

2.9 确认配置

Detectron2如何部署环境和安装  
确认使用了正确的远程python编译器,确认项目映射到了正确的远程的位置  

2.9 一些注意

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

Detectron2如何部署环境和安装

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

Detectron2如何部署环境和安装

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

Detectron2如何部署环境和安装

2.10 确认能否调通

新建一个 hello_remote.py

Detectron2如何部署环境和安装

执行

Detectron2如何部署环境和安装

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

Detectron2如何部署环境和安装

三、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安装

Detectron2如何部署环境和安装  
注意这里一定要使用 develop  

3.3 确保detectron2 能够被成功的import

Detectron2如何部署环境和安装

part3 :run demo ,跑出封面图!

首先,从detectron2/demo 中拷贝出predictor到同目录下,从configs/Misc/ 拷贝cascade_mask_rcnn_R_50_FPN_1x.yaml 到同一级别的目录下:

Detectron2如何部署环境和安装

其次,在远端服务器中,把模型

https://dl.fbaipublicfiles.com/detectron2/Misc/cascade_mask_rcnn_R_50_FPN_1x/138602847/model_final_e9d89b.pkldl.fbaipublicfiles.com

下载到新建立的model文件夹中

Detectron2如何部署环境和安装

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

Detectron2如何部署环境和安装

然后执行如下脚本即可:

Detectron2如何部署环境和安装

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

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI