在服务器上训练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.创建会话
screen -S miya(会话的名字,自己随便起)
2.和上述操作一样,激活环境,训练模型,这时候你的模型已经在服务器后台训练了
3.分离会话:简单说就是你看不到运行界面了
ctrl+a d :按下ctrl加a 输入d回车
4.连接到已经分离的会话(重新看到运行界面)
screen -r miya
5.查看所有会话
screen -ls
基本上常用的就这几个,写的比较粗略,有别的问题大家可以搜索一下

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/282618.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

故障诊断 | 一文解决,RBF径向基神经网络的故障诊断(Matlab)

文章目录 效果一览文章概述专栏介绍模型描述源码设计参考资料效果一览 文章概述

Trait与生命周期

原文链接:(*∇`*) 咦,又好了~ Rust – xiaocr_bloghttp://www.xiaocr.fun/index.php/2024/03/18/trait%E4%B8%8E%E7%94%9F%E5%91%BD%E5%91%A8%E6%9C%9F/ 目录 Trait 定义trait 默认实现 trait作为参数 Trait Bound语法 通过指定多个 trait bound …

大数据面试题 —— Zookeeper

目录 ZooKeeper 的定义ZooKeeper 的特点ZooKeeper 的应用场景你觉得Zookeeper比较重要的功能ZooKeeper 的选举机制 ***zookeeper主节点故障,如何重新选举?ZooKeeper 的监听原理 ***zookeeper集群的节点数为什么建议奇数台 ***ZooKeeper 的部署方式有哪几…

应对勒索攻击应该怎么办,妥协是最优解,还是下下策?

自1989年首次出现以来,勒索软件经历了三十多年的发展,已经成为全球网络空间安全面临的重大威胁和挑战。在今年,其攻击声势和复杂程度都在进一步变严峻。 根据全球各机构发布的相关调研报告,VMware ESXi、GoAnywhere MFT、MOVEIT等…

阿里云发布 AI 编程助手 “通义灵码”——VSCode更强了 !!

文章目录 什么是 通义灵码(TONGYI Lingma) 快速体验“通义灵码” 什么是“通义灵码”(TONGYI Lingma) 通义灵码(TONGYI Lingma),是阿里云出品的一款基于通义大模型的智能编码辅助工具&#xff…

【数据结构】链表力扣刷题详解

前言 题目链接 移除链表元素 链表的中间结点 反转链表 分割链表 环形链表的约瑟夫问题 ​ 欢迎关注个人主页:逸狼 创造不易,可以点点赞吗~ 如有错误,欢迎指出~ 移除链表元素 题述 给你一个链表的头节点 head 和一个整数 val ,请…

【漏洞复现】福建科立迅通信指挥调度平台down_file.php sql注入漏洞

漏洞描述 福建科立迅通信调度平台 20240318 以及之前版本存在一个严重漏洞,影响了文件 api/client/down_file.php 的一个未知功能。攻击者可以通过操纵参数 uuid 发起 SQL 注入攻击。攻击者可以远程发起攻击。 免责声明 技术文章仅供参考,任何个人和组织使用网络应当遵守…

Redisson分布式锁(WatchDog分析,浅浅看下源码)

带大家简单了解下Redisson的看门狗机制,这个面试中也比较常见。 目录 WatchDog(看门狗)机制开启WatchDog(看门狗)浅看下源码 WatchDog(看门狗)机制 Redisson看门狗机制是用于解决在业务运行时间…

关于Java对接网络验证+实践小例子,简单易懂

一个简单的网络验证小例子,各位大佬勿喷 突发奇想,如果一位A友找你拿一份 Working Fruits,但是你不想这位A友把你辛苦劳作、熬夜加点写出的代码分享他或她的另外一位朋友B友,也许并不是很有价值的一个小作业而已,但是就…

【微服务】Feign远程调用

📝个人主页:五敷有你 🔥系列专栏:微服务 ⛺️稳中求进,晒太阳 先来看我们以前利用RestTemplate发起远程调用的代码: 存在下面的问题:代码可读性差,编程体验不统一参数复杂URL…

2016年认证杯SPSSPRO杯数学建模A题(第二阶段)洗衣机全过程文档及程序

2016年认证杯SPSSPRO杯数学建模 A题 洗衣机 原题再现: 洗衣机是普及率极高的家用电器,它给人们的生活带来了很大的方便。家用洗衣机从工作方式来看,有波轮式、滚筒式、搅拌式等若干种类。在此基础上,各厂商也推出了多种具体方案…

详解如何使用Pytest进行自动化测试

为什么需要自动化测试 自动化测试有很多优点,但这里有3个主要的点 可重用性:不需要总是编写新的脚本,除非必要,即使是新的操作系统版本也不需要编写脚本。可靠性:人容易出错,机器不太可能。当运行不能跳过的重复步骤/测试时&…

【数据结构】——栈与队列(附加oj题详解)深度理解

栈 1.栈的定义 栈:栈是仅限与在表尾进行插入或者删除的线性表 我们把允许一端插入和删除的一端叫做栈顶,另一端叫栈底,不含任何元素的栈叫做空栈,栈又叫做后进先出的线性表,简称LIFO结构 2.栈的理解 对于定义里面…

【C++】狗屁不通文章生成器2.0

【C】狗屁不通文章生成器2.0 1 前言2 改进2.1 字词的前后关系2.2 文章生成系统 3 实现(部分)3.1 class wordpair3.1.1 转化为 json3.1.2 添加后缀词3.1.3 选择后缀词 3.2 class createArticle3.2.1文本分割3.2.2生成文章 4演示4.1 wordpair(3x2), 启动词(春天)4.2 wordpair(2x1…

C语言笔记:函数与程序结构

目录 ACM金牌带你零基础直达C语言精通-课程资料 一.作用域的基本概念 二.函数 1. 函数的定义和使用 2.为什么一定要有函数结构 3.形参与实参 4.函数的声明和定义 5.递归函数 此代码中递归函数执行流程: 练习:求斐波那契数列第n项的值: 欧几里…

CSDN个人简介优化 html font属性

CSDN个人简介优化 html font属性 个人简介个人简介优化字体21种样式选择字体大小设置4号字体 字体颜色设计渐变色&#xff08;可惜不能显示&#xff09; 字体加粗设置 <b>标签 个人简介 &#x1f308;你好呀&#xff01;我是 是Yu欸 &#x1f30c; 2024每日百字篆刻时光…

mysql查询条件包含IS NULL、IS NOT NULL、!=、like %* 、like %*%,不能使用索引查询,只能使用全表扫描,是真的吗???

不知道是啥原因也不知道啥时候, 江湖上流传着这么一个说法 mysql查询条件包含IS NULL、IS NOT NULL、!、like %* 、like %*%,不能使用索引查询&#xff0c;只能使用全表扫描。 刚入行时我也是这么认为的&#xff0c;还奉为真理&#xff01; 但是时间工作中你会发现还是走索引…

Games101Homework【0】Build an environment

Preface: I just want 放洋屁&#xff0c;and then learn graphics. So,This essay is born. I will show you the whole process of my study,Including the bugs I created. Cool lets begin! Download: BaiduNetworkDisk:from bilibili comment https://pan.baidu.com/…

Java后端八股-------并发编程

图中的 synchronized方法如果没有锁&#xff0c;那么可能会有超卖&#xff0c;数据错误等情况。 加锁之后会按顺序售卖。 synchronized的底层是monitor。 线程没有竞争关系的时候&#xff0c;引入了轻量级锁&#xff0c;当需要处理竞争关系的时候一定要用到重量级锁(线程的…

Java学习笔记(20)

可变参数 输入的参数数量不确定 底层就是把输入的参数放进一个数组里 只能写一个可变参数如果还有其他形参&#xff0c;可变参数要放在最后写 可变参数在底层就是一个数组 Collections Addall shuffle 练习 package exercise;import java.util.ArrayList; import java.util.C…