在服务器上训练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,一经查实,立即删除!

相关文章

外卖店优先级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…

Ribbon知识点

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

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

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

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 的热度逐渐升高,国内外各种基座大语言竞相出炉,在其基础上衍生出…

测试开发工程师(QA)职业到底需要干些什么?part1:移动端QA

概述 移动端QA测试开发工作主要涉及对移动应用程序进行质量保证和测试的开发工作。以下是移动端QA测试开发人员的主要职责和工作内容: 测试计划和策略制定:参与制定移动应用程序的测试计划和策略,确定测试范围、测试目标和测试方法。考虑到…

Mysql---DML

文章目录 目录 一.DML概述 注入数据( Insert) 替换数据(replace) 删除数据 (delete) 修改数据 (update) 查询数据 (select) 二. 多表连接查询 内连接 子…

Linux环境JMeter脚本性能测试、easyNmon生成监控报告

一、下载JMeter安装包 Jmeter是Java开发的,需要依赖JDK环境,因此我们需提前安装好JDK。 Jmeter是开源的工具,我们直接到官网下载即可。 最新版本下载地址:Apache JMeter - Download Apache JMeter 二、安装JMeter #新建jmete…

【GIT】最好用的git可视化教程网站推荐

最好用可视化学习git 网站:https://learngitbranching.js.org/?demo&localezh_CN 玩遍所有关卡&#xff0c;花半天时间便能掌握git &#x1f603; 本地仓库 基础命令介绍 git commit 提交 git branch <分支名> 创建分支 git checkout <分支名> 切换分支 git…

鸿蒙Harmony应用开发—ArkTS(@State装饰器:组件内状态)

State装饰的变量&#xff0c;或称为状态变量&#xff0c;一旦变量拥有了状态属性&#xff0c;就和自定义组件的渲染绑定起来。当状态改变时&#xff0c;UI会发生对应的渲染改变。 在状态变量相关装饰器中&#xff0c;State是最基础的&#xff0c;使变量拥有状态属性的装饰器&a…

【C++ leetcode】双指针问题

1. 611. 有效三角形的个数 题目 给定一个包含非负整数的数组 nums &#xff0c;返回其中可以组成三角形三条边的三元组个数。 题目链接 . - 力扣&#xff08;LeetCode&#xff09; 画图 和 文字 分析 判断是否是三角形要得到三边&#xff0c;由于遍历三边要套三层循环&#x…

开发调试、远程访问、内网穿透解决方案集合

开发调试、远程访问、内网穿透解决方案集合 前言Cpolar下载安装配置与使用 Ngrok购买隧道下客户端配置与使用 ZeroTier注册与安装创建虚拟网络加入虚拟网络配置授权 花生壳Centos系统Ubuntu系统使用花生壳控制台SN码登录添加映射 Loophole通过CLI方式安装登录与注销简单使用身份…

网络安全是什么? 为什么要学网络安全 ?网络安全怎么学习?

网络安全是什么&#xff1f; 网络安全是指保护计算机网络、网络设备、应用程序、数据和用户免受非法访问、攻击、破坏或泄漏的过程和技术。网络安全包括多个领域&#xff0c;例如网络防御、漏洞管理、加密技术、身份验证和访问控制等等。 网络安全非常重要&#xff0c;因为现…