cv异常检测

docker环境配置
根据此次比赛要求,我们需要将代码打包成docker镜像后提交,然后在云端拉取镜像进行模型测试。由于之前没有接触过,所以也等于借这次机会学习一下。

Docker作为一种开源的应用容器引擎,其功能可以理解为将程序运行所需的环境打包为一个镜像,以便使用者在开发、测试、生产等不同场合中方便地运行程序而无需单独再对环境进行配置。另一方面,docker利用容器的方式将运行资源隔离,从而避免了不同程序间的相互干扰。相比于传统的虚拟机技术,docker中多个容器可以共享当前机器的操作系统内核,而无需消耗更多资源来为每个程序提供一套操作系统。凭借着其自身的优势,以docker为代表的容器技术目前已称为云计算领域的主流应用技术之一。

关于docker的配置流程,比赛官网已经给出了比较详尽的介绍(可见参考资料2)。因此在这里仅简单总结下操作的步骤以及配置过程中遇到的问题。

首先在本地或云服务器中安装docker。ubuntu系统可直接执行sudo apt install docker.io命令,安装完成后sudo docker info进行检查。
下一步需要在云端申请一个容器镜像仓库,以便可以从比赛提交入口处拉取镜像来运行。这里我们选择阿里云提供的免费容器镜像服务。此处可按照参考资料3中的步骤进行,首先开通镜像托管,此次比赛仓库地域优先选择深圳(参考资料中为上海),然后牢记密码。之后创建命名空间,并选择本地仓库。在仓库管理页面可以看到右侧有对应的公网地址,可以复制下来,以便后续使用。
在构建镜像之前,可以先在本地完成数据格式转换和模型预训练。根据Datawhale学习小组提供的baseline,我们首先尝试用yolov5模型进行训练,在此之前需要将比赛数据格式转换为yolo要求的数据格式。转换完成后可以利用官方预训练权重进行预训练,训练前要下载权重文件,根据所使用的版本在命令中指定权重和模型文件,比如希望训练速度较快可以用yolov5s.pt/yolov5s.yaml,希望精度高则用yolov5x。这里baseline中存在一些问题,可以结合大佬的笔记进行调整(参考资料5)。训练完成后在weights文件夹中可以获得一个best.pt的权重文件,一会需要一同上传到docker中。在此处我的训练中报了两次错误,第一次如下图所示,显示’C3’模块无法加载。解决方法是从官网下载yolov5的包,然后将其中common.py文件中关于’C3’模块的定义部分拷贝过来即可。

接下来要构建镜像并配置容器环境。构建可用 sudo docker build -t 公网地址:版本号 命令来完成。然后用sudo docker images查看容器id。之后执行 sudo docker run -it 容器id前四位 /bin/bash 进入容器。进入后执行 pip install -r requirement.txt,将所需模块一次性装入容器中。此处为避免版本冲突,我也重新安装了1.7.0版pytorch: pip install --user torch==1.7.0。
保持并退出镜像。使用ctrl+P+Q退出但不关闭容器。然后执行 sudo docker commit 容器id 仓库公网地址:版本号 以将容器保存为镜像。
推送镜像。执行 sudo docker push 公网地址:版本号。
推送之后,登录阿里天池比赛网页,在提交结果一栏中按要求填写好镜像路径、用户名和密码,即可上传模型进行评分,

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值