在服务器上训练faster-rcnn模型(pycharm和Termius)

本文主要介绍使用服务器训练模型的两种方式:pycharm(可视化界面友好)and终端,本人用的是macos系统,可能pycharm某些入口的位置不一样,本教程代码以faster-rcnn为例

准备工作:
1.知道自己所用服务器的账号和密码(ip、用户名、密码)
2.将项目下载到本地(自己电脑上)
3.下载专业版的pycharm(版本不要太高,可能会闪退)
4.下载ssh工具,我这里用的是Termius,win系统也可以下载

第一种方式:使用专业版pycharm

1. 导入项目文件
2.连接服务器
(1)打开pycharm的settings
(2)设置编译器
(3)添加新的编译器,点击add
(4)选择右侧SSH Interpreter
(5)输入账号和用户名,端口号,点击next
(6)跳转到输入密码的页面,输入服务器的密码,点击next
(7)仔细看下图,点击右侧按钮选择自己服务器对应的python编译器,点击finish


(8)直接看图
(9)可以看到服务器上该环境下的包或者库,注意你现在还没有创建自己的虚拟环境,这些是服务器原有的,点击ok,等你进行后续创建自己的虚拟环境时,需要重新选择miniconda3/envs/fast(你虚拟环境的名字)/bin/python3.8. 注意:是bin文件夹下不是lib文件夹下
(3)看到服务器终端的操作:
选中自己的服务器


(10)右侧看到服务器的目录

3.将文件上传到服务器上指定文件夹



4.上传数据集

(1)可以和代码文件一样的方式上传可能有点慢
(2)使用ssh工具,我这里使用Termius
直接看图






5.创建虚拟环境

(1)在pycharm终端(服务器终端)


(2)下载需要的包
进入项目目录
pip install
6.修改代码,包括但不限于修改数据集路径,修改完成之后记得同步到服务器上
(1)本地代码修改之后右键会出现下图界面,按着操作
(2)下图是从右侧服务器目录里的文件直接修改,按着下图操作即可同步到服务器上
7.准备工作都做好,开始训练模型,直接上图
使用pycharm:可视化比较好,比如运行还是右键run,前提是你准备吧工作没问题

第二种方式:使用终端工具

前面介绍数据集上传的时候也提到了用的是Termius,以及如何在pycharm跳转到服务器终端,接下来操作一下如何用命令行训练模型
(1)使用pycharm终端
(2)使用Termius训练


在Termius修改文件之后也记得保存



注意:本地修改不需要upload
训练模型可以总结为:环境+数据集+代码(一般很多错误都是环境引起的,当然不绝对)
此教程用的系统不是win,win上有很多传输数据集很快的工具,也有很多类似于Termius的工具,可以搜一搜,我个人比较喜欢直接在终端而不是右键run,因为有时候会有很多小bug,后者你可以自己打开pycharm选择服务器终端,而不需要左边本地和右边服务器完全一样,直接cd项目目录然后python train.py 有问题在右侧找相应位置,改完之后upload再运行即可。
补充一个小tips:
以上训练方式如果遇到断网或者网络不稳定,会导致训练断开,最糟糕的是没有保存权重,无法续上(so权重很重要),所以为了避免这种因为各种意外断开训练,我们可以创建一个会话,将其挂到服务器后台运行
1.创建会话
python 复制代码
screen -S miya(会话的名字,自己随便起)
2.和上述操作一样,激活环境,训练模型,这时候你的模型已经在服务器后台训练了
3.分离会话:简单说就是你看不到运行界面了
ctrl+a d :按下ctrl加a 输入d回车
4.连接到已经分离的会话(重新看到运行界面)
python 复制代码
screen -r miya
5.查看所有会话
python 复制代码
screen -ls
基本上常用的就这几个,写的比较粗略,有别的问题大家可以搜索一下
相关推荐
人工智能训练5 小时前
【极速部署】Ubuntu24.04+CUDA13.0 玩转 VLLM 0.15.0:预编译 Wheel 包 GPU 版安装全攻略
运维·前端·人工智能·python·ai编程·cuda·vllm
微露清风6 小时前
系统性学习Linux-第二讲-基础开发工具
linux·运维·学习
阳光九叶草LXGZXJ7 小时前
达梦数据库-学习-48-DmDrs控制台命令(同步之Manager、CPT模块)
linux·运维·数据库·sql·学习
小二李9 小时前
第11章 nestjs服务端开发:登录鉴权
运维·服务器
i建模9 小时前
如何在Arch Linux中重设忘记的root密码
linux·运维·服务器
chatexcel10 小时前
元空AI+Clawdbot:7×24 AI办公智能体新形态详解(长期上下文/自动化任务/工具粘合)
运维·人工智能·自动化
kida_yuan10 小时前
【Linux】运维实战笔记 — 我常用的方法与命令
linux·运维·笔记
何中应12 小时前
vmware的linux虚拟机如何设置以命令行方式启动
linux·运维·服务器
野犬寒鸦12 小时前
从零起步学习并发编程 || 第一章:初步认识进程与线程
java·服务器·后端·学习
江畔何人初12 小时前
kubernet与docker的关系
linux·运维·云原生