在服务器上训练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.mzph.cn/news/763922.shtml

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

相关文章

力扣-字符串的最长公共前缀

1 采用纵向比较的方法,即以这个字符串数组的第一个字符串作为参照对象,纵向就是同时比较每个字符串的同样位置上的元素是否相同,所以外部循环负责控制走到哪个位置了,内部循环就把后面要比较的每个字符串的当前位置上的元素拿出来…

LeetCode 300. 最长递增子序列 题解(C,C++) (包含动态规划与贪心的区别的资料)

题目链接: - 力扣(LeetCode) 资源: 关于动态规划和贪心算法的区别,动态规划的常见题型,我总结了一些(还有文档哦,持续更新,以后有扩充),大家可移…

外卖店优先级c++

题目 输入样例: 2 6 6 1 1 5 2 3 1 6 2 2 1 6 2输出样例: 1样例解释 6时刻时,1 号店优先级降到 3,被移除出优先缓存;2 号店优先级升到 6,加入优先缓存。 所以是有 1 家店 (2 号) 在优先缓存中。 思路 …

docker 安装部署 jenkins

今天 小☀ 给大家普及一下什么是 jenkins!! Jenkins是一个开源软件项目,基于Java开发的持续集成工具。它提供了一个开放易用的软件平台,使软件项目可以进行持续集成。Jenkins起源于Hudson,主要用于持续、自动地构建、…

C语言 自定义类型:结构体

目录 前言 一、结构体类型 1.1 结构体的声明 1.2 结构体变量的创建和初始化 1.3 结构体的特殊声明 1.4 结构体的自引用 二、结构体的对齐 2.1 对齐规则 2.2 内存对齐的原因 2.3 修改默认对齐数 2.4 结构体传参 三、结构体实现位段 3.1 位段的内存分配 3.2 段的跨平…

我面了昆仑天工大模型算法岗,题是真硬啊。。。

节前,我们组织了一场算法岗技术&面试讨论会,邀请了一些互联网大厂同学、参加社招和校招面试的同学,针对大模型技术趋势、大模型落地项目经验分享、新手如何入门算法岗、该如何备战、面试常考点分享等热门话题进行了深入的讨论。 合集在这…

通过JWT完成token登录验证

前言 什么是JWT? 全称是JSON Web token,是用于对应用程序上的用户进行身份验证的标记,使用 JWTS 的应用程序不再需要保存有关其用户的 cookie 或其他session数据 使用JWT的优势 提高了程序的可伸缩性,也极大的提高了应用程序的安全…

几种常见的IO模型学习

IO模型 IO模型(输入输出模型)是计算机科学中用于描述程序如何处理输入、产生输出以及与外部系统交互的一种概念模型。在操作系统和网络编程中,IO模型尤其重要,因为它们决定了程序如何与文件、网络套接字和其他资源进行通信。以下…

Harbor介绍

1.什么是Harbor Harbor是一个开源的企业级Docker Registry管理项目,由VMware公司开源。 Harbor提供了比Docker官方公共镜像仓库更为丰富和安全的功能,尤其适合企业环境使用。以下是Harbor的一些关键特性: 权限管理(RBAC&#x…

复试专业前沿问题问答合集5

复试专业前沿问题问答合集5 深度学习与机器学习问答 Q1: 机器学习和深度学习之间的关系是什么? A1: 深度学习是机器学习的一个子集。机器学习是一种使计算机能够从数据中学习并做出决策或预测的技术,而深度学习特指使用深层神经网络进行学习和模式识别的方法。深度学习在图…

Ribbon知识点

1、通过类实现重写Ribbon规则 1.1注意 这个类一定不能跟启动类放在同一个包下面,不能被componentScan给扫描到。 需要如图放置: 要是被componentScan给扫描到,则会被所有的服务提供方所共享,那么就不能实现指定服务用不同的Ribbo…

灵神DP题单---划分型 DP---§6.1 判定能否划分

这里的状态定义一般使用DP【i】 表示 考虑前i个东西能否满足条件,然后我们枚举上一次的转移位置就好了 2369. 检查数组是否存在有效划分 需要注意的是我习惯从1开始写,所以要处理好边界的下标问题 class Solution { public:bool validPartition(vector&l…

LeetCode刷题记录——day4

https://leetcode.cn/problems/trapping-rain-water/description/?envTypestudy-plan-v2&envIdtop-interview-150 对于一个可以构成“碗”的序列,最后装满水的话应该和最短的一边齐平,那么可以左右各遍历一次,记录每个元素位置对应的最短…

最大中位数(c++题解)

题目描述 题目描述 给定一个由 个整数组成的数组 ,其中 为奇数。 你可以对其进行以下操作: 选择数组中的一个元素(例如 ),将其增加 (即,将其替换为 )。 你最多可以进行 次操…

java网络原理(三)----三次握手四次挥手

三次握手 三次握手是建立连接的过程,四次挥手是断开连接的过程,三次握手发生在socket.accept()之前。 客户端和服务器尝试建立连接的时候服务器就会和客户端进行一系列的数据交换称为握手,这个过程建立完了后,连接就好了。 A和B…

Matlab有限差分法求解狄利克雷(Dirichlet)边界的泊松(Poisson)问题,边界值为任意值

参考l链接: 有限差分法简介有限差分法-二维泊松方程及其Matlab程序实现弹性力学方程 有限差分法matlab,泊松方程的有限差分法的MATLAB实现 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%% Matrix method for Poisson Equation …

基于python+vue的OA公文发文管理系统flask-django-php-nodejs

系统根据现有的管理模块进行开发和扩展,采用面向对象的开发的思想和结构化的开发方法对OA公文发文管理的现状进行系统调查。采用结构化的分析设计,该方法要求结合一定的图表,在模块化的基础上进行系统的开发工作。在设计中采用“自下而上”的…

使用 Amazon SageMaker 微调 Llama 2 模型

本篇文章主要介绍如何使用 Amazon SageMaker 进行 Llama 2 模型微调的示例。 这个示例主要包括: Llama 2 总体介绍Llama 2 微调介绍Llama 2 环境设置Llama 2 微调训练 前言 随着生成式 AI 的热度逐渐升高,国内外各种基座大语言竞相出炉,在其基础上衍生出…

部署es集群

我们会在单机上利用docker容器运行多个es实例来模拟es集群。不过生产环境推荐大家每一台服务节点仅部署一个es的实例。 部署es集群可以直接使用docker-compose来完成,但这要求你的Linux虚拟机至少有4G的内存空间 创建es集群 首先编写一个docker-compose文件,内容如下: v…

nginx有哪些功能

Nginx拥有丰富且强大的功能,主要包括但不限于以下几点: Web服务器: 提供HTTP服务,能够高效地分发静态内容,如HTML、CSS、JavaScript、图片、视频等。支持HTTP/2、WebSocket等多种协议。可以设置防盗链、缓存控制、重写…