YMIR-从源代码部署到页面实操
YMIR是一个无代码即可实现视觉AI任务的一站式模型生产和部署平台,新颖的理念、完善的教程、不错的结果驱使我对该平台进行了试用。这篇文档详细记录了从github上的官方源码到GUI界面的部署步骤并展示了使用该平台便捷地同时进行多种动物(羊、马、猫等)检测的过程。
Part 1. YMIR部署
写在前头:整个部署流程可以参考官方资料YMIR-github和YMIR部署教程,前者有介绍YMIR所需的软硬件环境和部署过程,后者则是部署的视频教程。
下面介绍我部署YMIR的过程(GPU版本)、遇到的一些报错及解决方法。
Step 1. 环境准备
根据官方文档介绍,部署YMIR需要:
1)docker-compose >= 1.29.2,docker >= 20.10
2)NVIDIA GeForce RTX 2080 Ti 或更高版本
3)主机支持的最大 CUDA 版本 >= 11.2
不具备以上三项的小伙伴可在浏览器搜索对应安装教程和使用符合要求的服务器。推荐docker和docker-compose安装教程,安装时注意版本要求!以下是我安装时遇到的一些报错和解决方案,可供参考:
1)安装docker-compose时报错: “fatal error: Python.h: No such file or directory”
解决方案:https://www.cnblogs.com/qq952693358/p/9170638.html
2)成功安装docker-compose后,仍报错“command not found”
解决方案:https://blog.csdn.net/u014229742/article/details/103314774
Step 2. 源码克隆
登录本地服务器后,在命令行键入下方命令克隆YMIR的源码到本地:
git clone https://github.com/IndustryEssentials/ymir.git
Step 3. 配置参数
修改.env文件中第31行和第32行的参数分别指定当前部署label free标注平台的IP地址和端口:
LABEL_TOOL_HOST_IP=set_your_label_tool_HOST_IP
LABEL_TOOL_HOST_PORT=set_your_label_tool_HOST_PORT
另外,通过修改.env文件第6行的NGINX_PORT可以指定登录YIMIR GUI界面的端口
Step 4. 正式部署
输入以下命令进行YMIR的正式部署:
bash ymir.sh start
部署时出现选择标注工具的提示,我们选择2. Label Free即可:
标注工具选择
部署过程中出现如下关于拉取镜像超时的报错:
部署中的超时报错
解决方案:https://blog.csdn.net/qq_43479628/article/details/113756473
部署完成
在浏览器输入“本地服务器IP:.env文件中NGINX_PORT/login”(如“123.456.789.10:2222/login”)进入YMIR的GUI界面,可直接注册
可以修改或直接使用.env文件下对应的管理员用户名和密码登录平台:
.env中的管理员登录信息
Part 2. YMIR使用
Step 1. 项目创建:
训练类别输入想要检测的物体,比如我希望检测动物:bird, cat, cow, dog, horse, sheep
Step 2. 数据集创建
本次实验使用VOC2007数据集,导入时注意按照平台要求预先组织文件夹下的内容
本地创建的数据集
根据格式要求导入数据集
Step 3. 模型训练
选择上传好的训练集和验证集,根据自己希望使用的模型选择对应的训练镜像,如有需要的话也可以按需修改超参数。如此处我选择的是yolov7模型对应的镜像进行训练,使用默认超参数:
模型训练的参数配置
在本地服务器可看到GPU正在被用于训练
训练完成
Step 4 . 模型推理和验证
训练完成后,可以在 模型管理 条目下使用模型的验证和推理功能:
(1)模型推理
可以对整个选定的测试集用所训练的模型进行推理:
推理配置
推理完成
(2)模型验证
也可以方便地直接对指定的图片进行验证,输出结果图像:
多物体、多类别的检测结果也不错
Part 3. 其他功能
YMIR平台还提供了许多其他实用的功能模块,包括
1. 数据集分析
可以给出指定数据集的整体信息和分布信息,使用者可以方便、清晰地了解到数据集的情况,可指导后续数据集的优化。
2. 数据挖掘和模型迭代
对于结果有更高要求的项目,YMIR提供了一套模型迭代流程
1)数据挖掘:YMIR的数据挖掘功能在给定的数据集中挖掘有利于模型训练的数据,用户可以使用平台工具对于挖掘出来的数据方便地进行标注
2)数据集合并:可以将挖掘到的数据合并到现有的训练集中
3)模型训练:由上一步训练的模型作为初始化模型,使用更新后的数据集,重新训练模型
4)模型迭代:重复上述三步可以不断扩充数据集、训练得到更好的模型
3. 模型部署和发布
YMIR还支持将模型一键部署到指定硬件设备和发布到公共算法库,解决实际应用问题和充实社区资源。
4. 其他隐藏的优秀功能...
YMIR-从源代码部署到页面实操相关推荐
- nginx 集群部署_入门级实操教程!从概念到部署,全方位了解K8S Ingress!
Kubernetes Ingress用于添加规则,以将流量从外部路由到Kubernetes集群的服务中.在本文中你将了解ingress 的概念,以及用于路由外部流量到Kubernetes deploy ...
- jeecg-boot前后端部署在本地实操
先去官网那边看一看官方文档,然后把代码拉下来 JEECG官方网站 - 基于BPM的低代码开发平台j 记住按照官网上面的基础应用要装对(jdk,maven,idea啥的),我用阿里云的私库,没有改jec ...
- linux命令行安装vnc_Linux Centos7.x下安装部署VNC的实操详述
VNC (Virtual Network Console)是虚拟网络控制台的缩写.它 是一款优秀的远程控制工具软件,由著名的AT&T的欧洲研究实验室开发的.VNC 是在基于 UNIX和 Lin ...
- 使用K8S进行蓝绿部署的简明实操指南
在之前的应用部署系列文章里,我们已经介绍过什么是蓝绿部署.如需回顾,点击下方文章链接即可重温.本文我们将会介绍如何使用 Kubernetes 实现蓝绿部署. 应用部署初探:3个主要阶段.4种常见模式 ...
- 织梦手机端生成静态页面实操
遇到问题:织梦手机端默认访问是域名/m/list.php?tid=id或者/m/view.php?aid=1,如何将动态地址修改为静态. 解决办法:网上搜索织梦手机端静态生成教程,基本插件实现.以下为 ...
- 弹性布局案例实操(京东网页制作的草稿)
CSS3的弹性布局_星辰镜的博客-CSDN博客 上面的文章弹性布局的详细介绍: Css3的页面布局之定位_星辰镜的博客-CSDN博客 上面的文章是定位的介绍 Day02 了解Html+CSS的学习内容 ...
- ElasticSearch理论及实操
1. 全文检索 1.1 全文检索流程 主要分两大部分:创建索引和查询索引 1.2 全文检索概念 在MySQL中查询某条记录使用的一定是列名,也就是在创建数据库时已经写死的列名名称.在查询时,使用该列名 ...
- FISCO BCOS上使用第三方CA证书底层节点部署实操
CA证书怎么生成?节点相互验证证书时会交叉验证吗?对于社区常遇到的此类问题,分享一些个人使用第三方CA证书部署底层节点的经验,希望可以给大家一些借鉴与参考. 为什么要对第三方CA证书进行改造? 首先, ...
- 理论+实操:tomcat部署及优化————理论讲解
前言: tomcat安装部署 虚拟主机配置 tomcat优化 下载网站: http://tomcat.apache.org/ 一:Tomcat介绍 免费的.开放源代码的Web应用服务器 Apache软 ...
最新文章
- Chrome 打印PDF技巧
- 分享Kali Linux 2016.2第49周镜像文件
- excel调用python编程-用Python如何开发Excel宏脚本?新手必学
- ipvsadm+keepalived安装错误解决
- java时间戳动态,是否可以根据窗口元素的时间戳动态生成BigQuery表名?
- AtCoder - arc098_b Xor Sum 2(尺取+位运算)
- python 轮廓矩阵_python – 在3D numpy矩阵中绘制给定值的曲面轮廓
- php中递归怎么用,PHP中递归的实现实例详解
- 【clickhouse】数据仓库中的拉链表(Clickhouse 实现)
- Day 14 python 之 字符串练习
- [翻译] MSAlertController
- npm安装github包
- 利用matlab聚类分析,利用Matlab软件实现聚类分析
- Solaris 查看系统信息命令
- 提升手机麦克风音量_【奇酷小技巧】教你无需ROOT增大话筒、听筒和外放声音!...
- PRINCE2认证的优势是什么?
- 新手入门学Python一定要知道的编程开发工具
- 我的博客生涯开始……
- 计算机毕业设计ssm基于网络安全维护的机房设备管理19rya系统+程序+源码+lw+远程部署
- 关于自动化测试的定位及一些思考