最近在研究YMIR算法训练平台源码部署,期间也踩到过不少坑在此记录一下。以便帮助有需要的人。因为在windows上面进行源码部署会有很多坑,因此本教程是基于Ubuntu22.04桌面版进行部署,在创建虚拟机的时候需将硬盘设置大一点,我这里设置的是100G。接下来进入环境准备阶段
环境准备
- 安装conda并创建虚拟环境
- 安装git,上传数据集时会用到。安装完之后设置一下用户名和密码,否则上传数据集那里会报错
- 安装pycharm开发工具便于调试,需安装openjdk19
- 在GitHub找到ymir地址clone到本地
- 安装go环境,并设置代理地址。否则下载依赖会很慢
go env -w GOPROXY=https://goproxy.cn,direct
- 设置go环境变量
在.bashrc添加环境变量 export GOPATH=$HOME/go export PATH=$PATH:/usr/local/go/bin
前端启动
前端使用的是react、umi
- 安装nvm,为什么要安装nvm呢?因为在下载依赖时需要使用node18版本,而启动的时候则需要16版本,nvm可以进行方便的来回切换。至于为啥会出现这种情况具体原因尚未深入研究
- 下载yarn,它是基于yarn进行包管理的
- 配置代理
对于 umi 中能使用的自定义配置,你可以使用项目根目录的 .umirc.ts 文件或者 config/config.ts,值得注意的是这两个文件功能一致,仅仅是存在目录不同,2 选 1 ,.umirc.ts 文件优先级较高。此处是在.umirc.ts里边设置的。地址https://umijs.org/docs/api/configproxy: { '/api/v1': { 'target': '此处填你自己的url', 'changeOrigin': true, 'pathRewrite': { '^/api/v1' : '/api/v1' }, }, },
yarn start启动proxy: { '/server': { 'target': '此处填你自己的url', // 'changeOrigin': true, // 'pathRewrite': { '^/api/v1' : '/api/v1' }, }, },
后端服务启动
- 将目录设置为source
- 依赖下载,把里边所有requirements里边的依赖都进行安装
- ymir_app config.py修改数据库等连接并将GRPC_CHANNEL设置为localhost:5008
- ymir_app 设置启动参数 gunicorn -w 1 -k “uvicorn.workers.UvicornWorker” -c “app/gunicorn_conf.py” “app.main:app”
- ymir_auth config.py修改数据库连接等配置
- ymir_controller设置启动参数-f G:\pycharm-work\ymir\ymir\backend\src\ymir_controller\controller\server_local_config.yaml
- 启动app下的main.py,auth的main.py,controller下的server.py,monitor需启动两个服务
- 将command、backend/src下的目录设置sourceroot
- 安装mir
cd ymir/ymir/command python setup.py clean --all install mir --version
- go服务启动
go run main.go viewer go run main.go hel 使用build命令构建可执行文件hel_server也可以使用此方式启动参数相同 ./hel_server viewer
以上就是源码启动全部流程,有问题请指出
今天的文章 YMIR算法训练平台源码部署分享到此就结束了,感谢您的阅读。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/bian-cheng-ji-chu/78528.html