热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Pycharm远程连接云服务器训练模型教程

作者介绍王世豪,男,西安工程大学电子信息学院,2020级硕士研究生,张宏伟人工智能课题组。研究方向:机器视觉

作者介绍

王世豪,男,西安工程大学电子信息学院,2020级硕士研究生,张宏伟人工智能课题组。
研究方向:机器视觉与人工智能。
电子邮件:shauwang@foxmail.com


简述

受制于一些因素,我们可能需要通过租用GPU云服务器来训练自己的模型。本文主要解决云GPU租用、PyCharm专业版申请(学生)、本地连接云服务器训练模型三个问题。


GPU云服务器租用

如图所示,无论是某宝还是国内一线互联网大厂,均采用容器技术提供GPU云服务器的租用服务。可根据需求分别对比腾讯、阿里、滴滴、百度等等提供的租用套餐和报价,选择最适合的即可。
在这里插入图片描述
在这里插入图片描述
就目前来看,某宝商家提供的GPU租用服务可直接选择镜像,有版本可选的Anaconda3、Pytorch和Tensorflow等深度学习框架套件,租用服务器环境创建成功之后就可以直接进行使用,对环境配置比较生疏的小伙伴比较友好。

CUDA10版本
在这里插入图片描述
而阿里等云服务器的自定义程度更高,可以制作自定义镜像,再次使用他们的服务器就不需要之前冗长的配置过程了。在购买的时候选择与之前相同的配置,镜像选择自定义即可。有兴趣的小伙伴可以自行查阅阿里云使用实例创建自定义镜像。
在这里插入图片描述
最重要的说明:阿里云等云服务器的自定义镜像创建完成后,一定要将实例释放掉。否则,阿里云会一直计费的。会一直计费的。会一直计费的。重要的事说三遍


PyCharm专业版申请流程

之前介绍过PyCharm是一款功能强大的Python编辑器,可以跨平台在Windows、Mac、Ubuntu上运行。Win10安装和Ubuntu安装教程如下。在Ubuntu中安装并配置Pycharm教程,Win10中PyCharm的安装教程。
所以在此就不再赘述PyCharm的安装。如图,由于PyCharm社区版不能提供远程访问功能,所以需要使用专业版在本地访问服务器进行代码调试和模型训练工作。
在这里插入图片描述
进入PyCharm官网,点击学习工具→学生和教师处选择申请免费许可证,填写信息和教育邮箱进行申请即可。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
填写申请之后如果遇到下图所示的提示,可以选择提交正式文件申请。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
填写出生日期、学校名字、学校官网网址、并提交学信网学籍在线验证报告进行申请即可。官网说明文件由真人审核,最长可能要两周,我是申请5天之后收到了免费的许可证。

在这里插入图片描述


本地PyCharm连接云服务器

有了GPU云服务器和专业版PyCharm之后,再设置好PyCharm的远程连接,就可以愉快的在本地调试代码,然后扔到云服务器训练啦。
以下是本地PyCharm专业版的远程连接配置过程,在此之前需要先获得GPU云服务器ssh访问的主机地址、端口号、用户名和密码。
如果是购买GPU云服务器,那么出售方应直接提供;而如果是自己的GPU服务器则需要进行相应的配置,不再展开。

首先打开PyCharm,点击创建新的Project。
在这里插入图片描述
在弹出的窗口中选择Pure Python,设置好工程路径和Python解释器的路径之后,点击Create来创建新的工程,并包含一个main.py文件。
在这里插入图片描述
进入PyCharm的编辑器界面之后,可以将LeNet实现Mnist数据集分类的代码粘贴过来,待远程服务器连接之后作为验证。
在这里插入图片描述
完成之后就可以设置PyCharm与云服务器的连接。点击菜单栏中的Tools→Deployment→Cinfiguration即可进入Deployment对话框。
在这里插入图片描述
然后在Deployment对话框先点击加号创建一个远程访问服务,选择SFTP协议点击OK进行创建。
在这里插入图片描述
命名完毕,点击OK。
在这里插入图片描述
然后点击图示红框处即可设置远程连接的主机地址、端口、用户名和密码等信息。
在这里插入图片描述
填写设置完毕之后可以点击Test Connection测试以下连接。
在这里插入图片描述
连接成功!然后点击SSH Configurations对话框下的OK返回Deloyment对话框。
在这里插入图片描述
在Deloyment对话框中选择Mappings设置路径映射,设置本地代码同步到云服务器的目标路径,设置完成点击OK退出。
在这里插入图片描述
设置好路径之后点击Tools→Deployment→Options设置同步代码时自动创建文件夹。
在这里插入图片描述
Create empty directories 勾选即可。
在这里插入图片描述
然后点击菜单中的File→Settings开始设置云主机一侧远程Python解释器。
在这里插入图片描述
在设置界面中先点击左侧的Python Interpreter,然后点击右侧的小齿轮,在弹出的窗口中点击Add。
在这里插入图片描述
在弹出的 Add Python Interpreter 中选择 SSH Interpreter ,填写与之前相同的主机地址、端口号、用户名之后点击Next。
在这里插入图片描述
输入云服务器的密码,点击Next。
在这里插入图片描述
设置远程Python解释器的路径,可以利用ssh登录云服务器之后执行Which python来获取Python路径。
在这里插入图片描述
如图所示是利用xshell7访问云服务器获取的python解释器路径
在这里插入图片描述
设置好远程Python解释器之后,PyCharm会自动显示出云服务器已经安装的Python包的信息,此时先点击Apply 进行应用,再点击OK。
在这里插入图片描述
然后在菜单中点击Tools→Deployment,勾选Automatic Upload (always),确保Python代码可以自动同步到云服务器。
在这里插入图片描述
设置完成之后就可以在云服务器调试和运行Python代码,单击Edit Configuretions。
在这里插入图片描述
分别设置要运行的Python文件,检查Python解释器是否为云服务器侧的Python解释器,然后点击Apply应用设置,点击OK。
在这里插入图片描述
然后在云服务器中运行Python代码。

运行结果如下,Perfect!
在这里插入图片描述
至此,就是在本地通过PyCharm调用云服务器的GPU进行模型训练的整个过程。
码字不易,如果这篇文章对你有帮助,请不要吝啬一键三连奥!


推荐阅读
  • 开发笔记:spring boot项目打成war包部署到服务器的步骤与注意事项
    本文介绍了将spring boot项目打成war包并部署到服务器的步骤与注意事项。通过本文的学习,读者可以了解到如何将spring boot项目打包成war包,并成功地部署到服务器上。 ... [详细]
  • Linux服务器密码过期策略、登录次数限制、私钥登录等配置方法
    本文介绍了在Linux服务器上进行密码过期策略、登录次数限制、私钥登录等配置的方法。通过修改配置文件中的参数,可以设置密码的有效期、最小间隔时间、最小长度,并在密码过期前进行提示。同时还介绍了如何进行公钥登录和修改默认账户用户名的操作。详细步骤和注意事项可参考本文内容。 ... [详细]
  • 阿,里,云,物,联网,net,core,客户端,czgl,aliiotclient, ... [详细]
  • 本文介绍了Hyperledger Fabric外部链码构建与运行的相关知识,包括在Hyperledger Fabric 2.0版本之前链码构建和运行的困难性,外部构建模式的实现原理以及外部构建和运行API的使用方法。通过本文的介绍,读者可以了解到如何利用外部构建和运行的方式来实现链码的构建和运行,并且不再受限于特定的语言和部署环境。 ... [详细]
  • 本文介绍了Web学习历程记录中关于Tomcat的基本概念和配置。首先解释了Web静态Web资源和动态Web资源的概念,以及C/S架构和B/S架构的区别。然后介绍了常见的Web服务器,包括Weblogic、WebSphere和Tomcat。接着详细讲解了Tomcat的虚拟主机、web应用和虚拟路径映射的概念和配置过程。最后简要介绍了http协议的作用。本文内容详实,适合初学者了解Tomcat的基础知识。 ... [详细]
  • Spring框架《一》简介
    Spring框架《一》1.Spring概述1.1简介1.2Spring模板二、IOC容器和Bean1.IOC和DI简介2.三种通过类型获取bean3.给bean的属性赋值3.1依赖 ... [详细]
  • OpenMap教程4 – 图层概述
    本文介绍了OpenMap教程4中关于地图图层的内容,包括将ShapeLayer添加到MapBean中的方法,OpenMap支持的图层类型以及使用BufferedLayer创建图像的MapBean。此外,还介绍了Layer背景标志的作用和OMGraphicHandlerLayer的基础层类。 ... [详细]
  • OCI连接MySQL_PLSQL Developer连接远程数据库OCI客户端安装方法
    本文介绍了使用OCI客户端连接MySQL和PLSQL Developer连接远程数据库的安装方法,避免了在本地安装Oracle数据库或类似的开发套件的麻烦,同时解决了PLSQL Dev连接远程Oracle时的配置问题。 ... [详细]
  • 本文介绍了H5游戏性能优化和调试技巧,包括从问题表象出发进行优化、排除外部问题导致的卡顿、帧率设定、减少drawcall的方法、UI优化和图集渲染等八个理念。对于游戏程序员来说,解决游戏性能问题是一个关键的任务,本文提供了一些有用的参考价值。摘要长度为183字。 ... [详细]
  • 本文介绍了Python函数的定义与调用的方法,以及函数的作用,包括增强代码的可读性和重用性。文章详细解释了函数的定义与调用的语法和规则,以及函数的参数和返回值的用法。同时,还介绍了函数返回值的多种情况和多个值的返回方式。通过学习本文,读者可以更好地理解和使用Python函数,提高代码的可读性和重用性。 ... [详细]
  • STL迭代器的种类及其功能介绍
    本文介绍了标准模板库(STL)定义的五种迭代器的种类和功能。通过图表展示了这几种迭代器之间的关系,并详细描述了各个迭代器的功能和使用方法。其中,输入迭代器用于从容器中读取元素,输出迭代器用于向容器中写入元素,正向迭代器是输入迭代器和输出迭代器的组合。本文的目的是帮助读者更好地理解STL迭代器的使用方法和特点。 ... [详细]
  • Servlet多用户登录时HttpSession会话信息覆盖问题的解决方案
    本文讨论了在Servlet多用户登录时可能出现的HttpSession会话信息覆盖问题,并提供了解决方案。通过分析JSESSIONID的作用机制和编码方式,我们可以得出每个HttpSession对象都是通过客户端发送的唯一JSESSIONID来识别的,因此无需担心会话信息被覆盖的问题。需要注意的是,本文讨论的是多个客户端级别上的多用户登录,而非同一个浏览器级别上的多用户登录。 ... [详细]
  • 本文介绍了Windows Vista操作系统中的用户账户保护功能,该功能是为了增强系统的安全性而设计的。通过对Vista测试版的体验,可以看到系统在安全性方面的进步。该功能的引入,为用户的账户安全提供了更好的保障。 ... [详细]
  • Jboss的EJB部署描述符standardjaws.xml配置步骤详解
    本文详细介绍了Jboss的EJB部署描述符standardjaws.xml的配置步骤,包括映射CMP实体EJB、数据源连接池的获取以及数据库配置等内容。 ... [详细]
  • Hadoop2.6.0 + 云centos +伪分布式只谈部署
    3.0.3玩不好,现将2.6.0tar.gz上传到usr,chmod-Rhadoop:hadophadoop-2.6.0,rm掉3.0.32.在etcp ... [详细]
author-avatar
程驭飞龙_619
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有