在服务器上训练faster-rcnn模型(pycharm和Termius)
本文紧张介绍利用服务器训练模型的两种方式:pycharm(可视化界面友好)and终端,本人用的是macos体系,可能pycharm某些入口的位置不一样,本教程代码以faster-rcnn为例预备工作:
1.知道自己所用服务器的账号和暗码(ip、用户名、暗码)
2.将项目下载到本地(自己电脑上)
3.下载专业版的pycharm(版本不要太高,windows可能会闪退)可以参考这位博主的Pycharm专业版安装具体教程!,至于破解的方法,自己去海鲜市场花一块多钱就搞定了。
4.下载ssh工具,我这里用的是Termius,win体系也可以下载
第一种方式:利用专业版pycharm
1. 导入项目文件
https://i-blog.csdnimg.cn/blog_migrate/b24d275f69e805b77cbf9cd3ab2e537e.png
2.连接服务器
(1)打开pycharm的settings
https://i-blog.csdnimg.cn/blog_migrate/fdfebf9c9c1b67d90d3d9d962cee38ad.png
(2)设置编译器
https://i-blog.csdnimg.cn/blog_migrate/33fbed60489fd9b741db615932fd601b.png
(3)添加新的编译器,点击add
https://i-blog.csdnimg.cn/blog_migrate/e11b97efe1a4dff6c151af4f1179580c.png
(4)选择右侧SSH Interpreter
https://i-blog.csdnimg.cn/blog_migrate/a835adbd1366ea0a2f26f016676002bd.png
(5)输入账号和用户名,端标语,点击next
https://i-blog.csdnimg.cn/blog_migrate/165021c728e3f91957e84bacc1719ee4.png
(6)跳转到输入暗码的页面,输入服务器的暗码,点击next
https://i-blog.csdnimg.cn/blog_migrate/4631746e957c9f6136e6c6564da100d1.png
(7)细致看下图,点击右侧按钮选择自己服务器对应的python编译器,点击finish
https://i-blog.csdnimg.cn/blog_migrate/95e2b34db948e14f948dfdd591493160.png
https://i-blog.csdnimg.cn/blog_migrate/084cd79c6b8752f2197b7f9500ce6bd6.png
(8)直接看图
https://i-blog.csdnimg.cn/blog_migrate/198a531f6b7918cd6c6fa48b0278fd76.png
(9)可以看到服务器上该情况下的包或者库,留意:如果你是第一次利用服务器的话,你现在还没有创建自己的捏造情况,这些是服务器原有的,点击ok,等你进行后续创建自己的捏造情况时,需要重新选择miniconda3/envs/fast(你捏造情况的名字)/bin/python3.8. ,and是bin文件夹下不是lib文件夹下
https://i-blog.csdnimg.cn/blog_migrate/fabe16207244fe61a5365c15b5c4c3f2.png
(3)看到服务器终端的操纵:
https://i-blog.csdnimg.cn/blog_migrate/7faf06bb9edf6e17635bb5978e4de20e.png
选中自己的服务器
https://i-blog.csdnimg.cn/blog_migrate/3b649cdf5513ffcdf8b3c0b16a8a7dc0.png
https://i-blog.csdnimg.cn/blog_migrate/7ecf39a9e7cf6be4cfc26d90f5529ad7.png
(10)右侧看到服务器的目次
https://i-blog.csdnimg.cn/blog_migrate/9e420a03ff49a244f5b83b16f1af7616.png
然后就会在右侧看到服务器上的目次
https://i-blog.csdnimg.cn/blog_migrate/7d83b9b136a9249655cf155b3baf22d4.png
3.将文件上传到服务器上指定文件夹
https://i-blog.csdnimg.cn/blog_migrate/49c8fd07c220eec36b65fa0fe9570436.png
https://i-blog.csdnimg.cn/blog_migrate/c2d63b6ffa2b4d84bdcac848ee0a5484.png
https://i-blog.csdnimg.cn/blog_migrate/f4686b7522567b9f42b11f973b7f3fb9.png
4.上传数据集
(1)可以和代码文件一样的方式上传可能有点慢
(2)利用ssh工具,我这里利用Termius
https://i-blog.csdnimg.cn/blog_migrate/b73a7bb7e5756ca259188cd0fe8807ef.png
直接看图
https://i-blog.csdnimg.cn/blog_migrate/eb78b9db406ded0229b8c96a4c264dc5.png
https://i-blog.csdnimg.cn/blog_migrate/2021945af37d457e5a52b007ff4e3d92.png
https://i-blog.csdnimg.cn/blog_migrate/17fa92489846104496a0b350245295df.png
https://i-blog.csdnimg.cn/blog_migrate/ea57837d9bef3622c56a8f15a6abd45c.png
https://i-blog.csdnimg.cn/blog_migrate/cb0d2adaa861788717bca3210e1a16e6.png
https://i-blog.csdnimg.cn/blog_migrate/e1e2c110aeb0f5033f3122614d7794d6.png
5.创建捏造情况
(1)在pycharm终端(服务器终端)
https://i-blog.csdnimg.cn/blog_migrate/0806123f7d9a7aa1adfb651f68a2d204.png
https://i-blog.csdnimg.cn/blog_migrate/8cb366a4b05d421acf45829e073b8d08.png
(2)下载需要的包
进入项目目次: 点击项目文件夹右键copy路径,然后在终端输入 cd 你copy的路径,如许就进入项目文件夹了,之后进行代码的运行就比力方便,如果你不进行这一步操纵也没关系,但是你运行脚本的时间可能需要输入python /home/root1/data/miya/detr/main.py(路径任意举的例子),如果你提前已经输入cd /home/root1/data/miya/detr,接下来只需要python main.py。看你喜欢哪种方式吧,都是可以的。
https://i-blog.csdnimg.cn/blog_migrate/3478055ae38398466e1f01e87c92df0b.png
安装需要的包,输入pip install -r requirements.txt,如许就会依次下载所需要的包或者库,留意:网络欠好的时间可能下载到requiements.txt中的一个包或者库就会报错,没关系,重复输入pip install -r requirements.txt可以,也可以你自己按照requiements.txt里所需要的东西一个挨着一个pip install
https://i-blog.csdnimg.cn/blog_migrate/b7282aec930e62b3ea5f90f26d43cd82.png
6.修改代码,包括但不限于修改数据集路径,修改完成之跋文得同步到服务器上
(1)本地代码修改之后右键会出现下图界面,按着操纵
https://i-blog.csdnimg.cn/blog_migrate/21b46129e5b7fcc82a7ece72387937a4.png
(2)下图是从右侧服务器目次里的文件直接修改,按着下图操纵即可同步到服务器上
https://i-blog.csdnimg.cn/blog_migrate/91308f5269c52c424d58e76077297204.png
7.预备工作都做好,开始训练模型,直接上图
https://i-blog.csdnimg.cn/blog_migrate/957b277d23e470a4f657d1eae73b9d8f.png
利用pycharm:可视化比力好,比如运行还是右键run,前提是你预备工作没问题(情况+代码+数据集)
第二种方式:利用终端工具
前面介绍数据集上传的时间也提到了用的是Termius,以及如安在pycharm跳转到服务器终端,接下来操纵一下怎样用下令行训练模型
(1)利用pycharm终端
https://i-blog.csdnimg.cn/blog_migrate/3514bcb98c609f4628c003d6f0d6cbd3.png
(2)利用Termius训练
https://i-blog.csdnimg.cn/blog_migrate/7c79de275850966ebd41ad7b2424d993.png
这里和pycharm终端操纵是一样的,缺什么下载什么,情况搞好了之后输入运行下令
https://i-blog.csdnimg.cn/blog_migrate/5072bb14f213f18363effbdad27b60eb.png
在Termius修改文件之后也记得生存
https://i-blog.csdnimg.cn/blog_migrate/42668e6c37ca540152740aec6b0ade0b.png
https://i-blog.csdnimg.cn/blog_migrate/8721cfaa40b4f650039401d3b83412c7.png
https://i-blog.csdnimg.cn/blog_migrate/c8e87a7057ec8362256095976b6f7a5f.png
留意:本地修改不需要upload
训练模型可以总结为:情况+数据集+代码(一样平常很多错误都是情况引起的,当然不绝对)
此教程用的体系不是win,win上有很多传输数据集很快的工具,也有很多类似于Termius的工具,可以搜一搜,我个人比力喜欢直接在终端而不是右键run,由于偶然候会有很多小bug,后者你可以自己打开pycharm选择服务器终端,而不需要左边本地和右边服务器完全一样,直接cd项目目次然后python train.py 有问题在右侧找相应位置,改完之后upload再运行即可。
补充一个小tips:
以上训练方式如果碰到断网或者网络不稳定,会导致训练断开,最糟糕的是没有生存权重,无法续上(so权重很紧张),以是为了避免这种由于各种意外断开训练,我们可以创建一个会话,将其挂到服务器后台运行
1.创建会话
screen -S miya(会话的名字,自己随便起)
2.和上述操纵一样,激活情况,训练模型,这时间你的模型已经在服务器后台训练了
3.分离会话:简单说就是你看不到运行界面了
ctrl+a d :按下ctrl+a+d回车
4.连接到已经分离的会话(重新看到运行界面)
screen -r miya
5.查看全部会话
screen -ls
6.删除会话
screen -X -S [会话名称或会话ID] quit
7.强制打开会话
偶然候没有分离会话就把运行页面关掉了,这时间你连接会话会看到“Attached”
https://i-blog.csdnimg.cn/direct/31af3be223e54475be339f60336a11b6.png
这时间强制连接会话,输入:
screen -D -r rt1(会话名字)
即可重新连接
根本上常用的就这几个,写的比力大略,有别的问题大家可以搜刮一下
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页:
[1]