本地Pycharm连接远程服务器训练模型教程-yolov5为例

news2024/12/28 11:29:24

本篇文章解决的问题:

本地pycharm 与云服务器/实验室服务器进行远程连接跑实验训练、同步本地与云服务器的全部或者部分文件。

在这之前需要做的的工作:
1.服务器上已经创建好虚拟环境(不会的可以看下篇文章):使用云GPU进行yolov5的训练_gpu训练云服务器_耿鬼喝椰汁的博客-CSDN博客
2.你本地已经安装好pycharm(要专业版Pycharm才支持远程连接)

目录

一、建立远程服务器连接

1.检查自己Pycharm是否为专业版

2.服务器上已经创建好虚拟环境

 3.开始创建远程连接

(1)配置远程环境

(2)建立ssh连接

(3)配置SSH连接 

4.进行本地项目与远程项目之间的文夹路径映射

 5.设置自动上传项目

6.验证是否连接成功

二、本地配置Python解释器

三、本地启动服务器终端

四、注意


一、建立远程服务器连接

1.检查自己Pycharm是否为专业版

      Pycharm分为专业版和社区版,只有专业版才支持远程服务,所以大家可以先确认自己的Pycharm版本,可通过下图所示操作查看自己的版本(工具栏help(帮助)->about(关于)):

2.服务器上已经创建好虚拟环境

详情会可看下列文章:

(2条消息) 使用云GPU进行yolov5的训练_gpu训练云服务器_耿鬼喝椰汁的博客-CSDN博客使用云GPU进行yolov5的训练_gpu训练云服务器_耿鬼喝椰汁的博客-CSDN博客(2条消息) 使用云GPU进行yolov5的训练_gpu训练云服务器_耿鬼喝椰汁的博客-CSDN博客

 检查版本无误且创建好虚拟环境后开始进行本地与远程服务器之间的连接配置:

 3.开始创建远程连接

      第一步工作是建立本地与远程服务器之间的SSH连接,我们知道远程服务器上创建的实例拥有自己的SSH以及用户名,用户名通常为root,SSH由ip:port两部分组成,ip为服务器ip地址,port为端口号,这些信息在第2步创建虚拟环境时获得,我们需要获取这个SSH连接后续配置需要使用:

(1)配置远程环境

       点击菜单栏中的Tools(工具)→Deployment(部署)→Cinfiguration(配置)即可进入Deployment对话框。(因为我的Pycharm汉化了,所以图片是中文显示)

(2)建立ssh连接

 在Deployment对话框先点击加号创建一个远程访问服务,选择SFTP协议点击OK进行创建

 设置服务器名(这个可以随意命名,最好根据自己项目来写名称)

(3)配置SSH连接 

点击SSH配置右侧的"…",进行SSH内容设置(设置远程连接的主机地址、端口、用户名和密码等信息。):

      此处我们需要设置三个参数:Host为前面提到的远程服务器ip地址xxx.xxx.xxx.xxx;Port为SSH连接后的端口号;User name为远程服务器用户名,通常为root

 填写设置完毕之后可以点击Test Connection测试以下连接。若成功会出现下图所示结果:

     出现提示框就是连接成功了!然后点击SSH Configurations对话框下的OK返回Deloyment对话框。   

     接下来为了后续本地与服务器之间同一项目可以内容同步,我们还需要设置二者之间的项目路径映射。

4.进行本地项目与远程项目之间的文夹路径映射

        为了后续本地与服务器之间同一项目可以内容同步,我们还需要设置二者之间的项目路径映射,即本地项目在远程服务器中存放的位置。

     在Deloyment对话框中选择Mappings设置路径映射,设置本地代码同步到云服务器的目标路径,设置完成点击OK退出,这里使用的云服务器为恒源云,服务器部署路径为:/hy-tmp,图中未显示。

 5.设置自动上传项目

在连接建立并配置好本地与远程项目之间的路径映射后,我们再设置自动上传项目即可,在菜单中点击Tools(工具)→Deployment(部署),勾选Automatic Upload (always)【自动上传(始终)】,确保Python代码可以自动同步到云服务器。

如此本地与服务器之间就可以进行项目同步了,此时我们更新了本地代码之后只要使用快捷键(我这里是A)保存代码即可完成同步:

此处需要注意如果自动上传无法成功,我们可以手动将本地项目上传到服务器(选择上面的Upload to(上传到)即可),一定要在本地代码更改后及时上传同步到服务器!!反之,如果服务器对代码进行了修改,则通过本地的Download from(从...下载)拉取服务器中的代码同步本地。 

注意:

upload to ...顾名思义改完代码以后更新服务器代码。

download from从服务器下载代码到本地。

这里我们从服务器下载下来数据。选择download from

他会问你从哪里下载,选定你的服务器。之后等待下载完毕即可。

但是要注意,每次修改代码以后都要在项目那里upload to...才会更新服务器代码。

6.验证是否连接成功

在进行SSH连接建立之后,通过下图所示方法可验证是否连接成功:

 如下图所示,点击浏览远程主机之后可在本地Pycharm右侧看到远程服务器的文件目录,此时可看到与远程服务器的文件目录一模一样

二、本地配置Python解释器

 此时我们还不能在本地使用服务器的环境,我们需要将本地Pycharm的Python解释器设置为远程服务器中的指定环境下的Python解释器:

(1)进入设置,将服务器中的Python解释器添加到Pycharm中:

 (2)选择SSH解释器,选择SSH配置,选中前面设置的服务器连接,然后选择ssh配置即可:

 (3)这里需要设置远程服务器中的Python解释器路径和项目之间的路径映射,如下图所示:

 到此处我们的环境配置工作就完成了!!

 之后我们将所需要的文件上传到服务器就可以在远程服务器使用yolov5模型进行数据集的训练了,如果调整了训练参数记得upload to!

三、本地启动服务器终端

      现在我们可以在本地使用服务器的工作环境了,那如何在本地开启服务器终端呢,毕竟后面需要其他第三方库还得装包(比如yolov5需要运行requirements.txt),这里我也说一下:
        工具栏中打开Tools(工具)->Start SSH Session(启动ssh会话),然后选择我们前面配置的服务器,即可在本地Terminal处开启远程终端: 

四、注意

后面如果要切换回本地工作环境,直接去设置里面切换Python解释器即可!!!


这篇远程服务器连接本地Pycharm运行yolov5模型教程到这里就结束啦,如果有什么问题可以在评论区留言呀~

如果帮助到大家,可以一键三连+关注支持下~

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

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

相关文章

git commit三种回退的方式

git commit 回退 弄清楚三个区 工作区(working tree): 本地编辑器 暂存区(index):git add操作后进入暂存区,可用git status查看 本地仓库(repository):git …

C#上位机与三菱FX3UPLC实现异步伪实时串口通信机制(串口类通信可参考)

C#上位机与三菱FX3UPLC实现异步伪实时串口通信机制(串口类通信可参考) 一、串口通信概述1.1 串口通信1.2 串行通信1.2.1 串行同步通信1.2.2 串行异步通信1.2.2.1 异步通信的数据格式1.2.2.2 异步通信的数据发送过程1.2.2.3 异步通信的数据接收过程 1.3 串…

Redis如何保障缓存与数据库的数据一致性问题?

目录 一.最经典的数据库加缓存的双写双删模式 二. 高并发场景下的缓存数据库双写不一致问题分析与解决方案设计 三、上面高并发的场景下,该解决方案要注意的问题 一.最经典的数据库加缓存的双写双删模式 1.1 Cache Aside Pattern概念以及读写逻辑 (…

redis非关系型数据库部署和使用(linux)

1.概念 NoSQL非关系型数据库是一种不使用关系模型来组织数据的数据库,通常用于存储非结构化或半结构化的数据,不支持或只部分支持SQL语言,满足最终一致性。非关系型数据库有多种类型,例如键值数据库、文档数据库、列式数据库、图形…

Shopee、Grab、Gojek 打造超级app已成为主流

超级App的概念在全球范围内逐渐被接受和采用。 超级App是指一种综合性的应用程序,允许用户在同一个平台上访问多个不同的服务,包括支付、社交媒体、出行、点餐等等。它的发源地是东南亚地区,如中国的微信、印度的Paytm和印尼的Gojek等应用&a…

Spring入门案例--bean的生命周期

bean的生命周期 关于bean的相关知识还有最后一个是bean的生命周期,对于生命周期,我们主要围绕着bean生命周期控 制 来讲解: 首先理解下什么是生命周期? 从创建到消亡的完整过程,例如人从出生到死亡的整个过程就是一个生命周期。 bean生命周期是什么? bean对…

C++ | 说说类中的static成员

【概念】:声明为static的类成员称为类的静态成员,用static修饰的成员变量,称之为静态成员变量;用static修饰的成员函数,称之为静态成员函数。静态成员变量一定要在类外进行初始化 文章目录 一、面试题引入二、static特…

5个实用的JavaScript原生API

本文带来5个难得一见的JavaScript原生API,为我们的前端开发带来意想不到的便利。 1. getBoundingClientRect() Element.getBoundingClientRect() 方法返回一个 DOMRect 对象,该对象提供有关元素大小及其相对于视口的位置的信息。 domRect element.ge…

Java笔记_11(常用API)

Java笔记_11 一、常用的API1.1、MathMath练习 1.2、System1.3、Runtime1.4、Object1.5、浅克隆、深克隆1.6、对象工具类的Objects1.7、BigInteger(大整数)1.8、BigDecimal(大小数) 二、正则表达式2.1、正则表达式基础知识2.2、正则…

关于WordPress的20个有趣事实

时值 2022 年,互联网格局和 WordPress 的流行发生了重大变化。COVID-19 流行几乎影响到人类生存的方方面面,包括我们的互联网习惯,这也不例外。 到 2022 年,我们在家工作的人数显着增加,下岗或发现自己有更多空闲时间…

Python基础实战3-Pycharm安装简介

Pycharm下载、安装与使用 1.打开pycharm官网:下载 PyCharm: Python IDE for Professional Developers by JetBrains 2.选择自己对应的操作系统,点击Download,默认是最新版本,想安装其他版本可以选择Other versions下载…

【iOS】—— Masonry源码学习(浅看,未完)

Masonry 文章目录 MasonryNSLayoutConstraint用法Masonry源码 Masonry在我们之前的学习中是一个非常有用的第三方库。 Masonry是一种基于Objective-C语言的轻量级布局框架,它可以简化iOS应用程序中的自动布局任务。Masonry提供了一个方便的API,可以编写更…

Kubernetes Service、Ingress

Service(4层负载均衡器) 1、K8S 可以保证任意 Pod 挂掉时自动从任意节点启动一个新的Pod进行代替,以及某个Pod超负载时动态对Pod进行扩容。每当 Pod 发生变化时其 IP地址也会发生变化,且Pod只有在K8S集群内部才可以被访问&#xf…

Flink高手之路4-Flink流批一体

文章目录 Flink高手之路4-Flink流批一体API开发一、流批一体相关的概念1.数据的时效性2.流处理和批处理1)批处理2)流处理3)两者对比 3.流批一体API4.流批一体的编程模型 二、Data Source1.预定义的Source1)基于集合的Sources(1)API(2)演示 2)基于文件的Source(1)API(2)演示 3)基…

2023.4.19 + 4.20

文章目录 String类1:介绍:2:String类实现了很多的接口:3;String类常用构造器4:不同方式创建String类对象的区别(1)直接赋值的方式(2)常规new的方式&#xff0…

【筛质数】——朴素筛,埃式筛,欧拉筛

题目描述: 题目分析: 这道题可以用,朴素筛,埃氏筛,欧拉筛来写。 普通筛: 时间复杂度:O(n logn) 时间复杂度太高,会超时的!!(9/10) #…

Keil5----显示空白符和设置使用空白格表示Tab键

一、Keil5界面----显示空白符 首先打开Keil5-MDK界面,然后按照下面步骤操作。 步骤1:点击 Edit(编辑),然后点击 Configuration(配置) 步骤2:勾选 View White Spaces(查看空白) 步骤3:显示设置后的结果 具体显示结果分…

Git添加SSH密钥本地仓库上传远程GitHub库

1、前言 现在想要从本地设备将本地仓库上传到GitHub上需要用到SSH密钥,接下来讲解大致的步骤,本文默认读者已经掌握基本的Git知识 2、详细步骤 2.1 创建密钥 在本地项目仓库根目录下,输入下面的命令: ssh-keygen -t rsa命令输…

深度学习 Day 31——YOLOv5-Backbone模块实现

深度学习 Day 31——YOLOv5-Backbone模块实现 文章目录 深度学习 Day 31——YOLOv5-Backbone模块实现一、前言二、我的环境三、什么是YOLOv5-Backbone模块?四、搭建包含Backbone模块的模型1、模型整体代码2、模型每一部分详解3、模型详情 五、模型训练六、最终结果1…

计算机|网页设计 |七大罪动漫主题|作品分享

文章目录 一、主题介绍二、截图展示三、源代码获取 一、主题介绍 计算机|网页设计 |七大罪动漫主题|作品分享 一个关于七大罪动漫主题的网页设计。共4页 图片文字都可修改! 二、截图展示 三、源代码获取 本次的分享就到这里啦&…