Pycharm连接云算力远程服务器(AutoDL)训练深度学习模型全过程

本文主要是介绍Pycharm连接云算力远程服务器(AutoDL)训练深度学习模型全过程,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

前言:在上一篇windows搭建深度学习环境中,我试图使用笔记本联想小新air14的mx350显卡训练一个图像检测的深度学习模型,但是训练时长大概需要几天时间远超我的预期,所以我便选择租用GPU进行训练,在对多家平台对比后找到了经济实惠的AutoDL,接下来是我租用GPU–配置环境–连接Pycharm–训练模型的全过程,基于本人也是刚入门的新手,如果有不恰当的地方还请大家指教。

一、租用GPU

  • 首先进入官网AutoDL:https://www.autodl.com/home,注册登录(如果是学生还有优惠)
  • 点击算力市场
    在这里插入图片描述
  • 选择合适的计量方式,地区和GPU型号,
    (1)在选择地区时,一般选择距离自己最近的区,这样可以减少延迟,提高计算效率123。
    选择GPU
    (2)在选择GPU时,需要考虑GPU对应的地区,一般选择距离自己最近的区,整体区别不大。另外,GPU型号的选择也很重要,对应不同的显卡核心,不同的GPU型号的收费价格不同,越好的GPU收费越贵,看个人经济实力选择。
  • 选择镜像
    在本文中选择的是基础镜像,大家根据自己的项目要求选择合适的框架即可,
    在这里插入图片描述
  • 租用成功后界面
    在这里插入图片描述

二、配置环境

在这里我们首先选择无卡模式开机,顾名思义无卡模式开机即没有GPU有CPU开机(一般GPU被别人占满的时候,无卡模式还是依然能开机的),同时无卡模式只有0.1元/时,我们可以用它进行数据的传输和环境的配置,有卡模式就需要根据你所选择的配置进行收费,如选择的3090需要1.58元/时。
在这里插入图片描述

1、配置环境

(1)点击JupyterLab
在这里插入图片描述
(2)点击终端
在这里插入图片描述

  • 输入:vim ~/.bashrc

  • 点击i进入编辑模式

  • 开始进行编辑:输入i

  • 移动到文件的最后一行,加上source /root/miniconda3/etc/profile.d/conda.sh

  • 按Esc键,输入:wq,再回车(:q是推出不保存:q!是强制退出)
    输入bash后回车,即刷新一下
    在这里插入图片描述(3)进入环境:conda activate base
    创建新环境:conda create -n py37 python=3.7
    进入新环境,输入:conda activate py37
    (推出py37的代码示例:conda deactivate)
    在这里就可以根据项目需要配置相应的深度学习框架,我认为有三种方案,
    一是可以在conda环境下使用官网命令直接安装对应的包,如我的项目需要torch==1.12.0+cu113 torchvision==0.13.0+cu113 torchaudio==0.12.0就可以到Pytorch官网使用对应命令安装,但是我在安装过程中到最后总是被杀掉进程,所以在这里我使用的是第二种方法。
    二是可以使用远程连接工具xftp传输文件到云主机上进行离线安装,xftp下载链接
    三是可以直接将需要安装的包下载的本地电脑,再上传到租用主机的网盘上
    本文使用的是第二种方法,所以以下为第二种方法的具体步骤
    1、点击更多,点击无卡模式开机或有卡模式开机后会在ssh登录出现ssh登录指令和密码
    ssh登录指令格式如下
    ssh -p 123456 root@xxxxxx.xxxx.com

  • 用户名:root

  • 主机HOST:xxxxxx.xxxx.com(即@后的所有内容)

  • 端口号:123456
    在这里插入图片描述2、连接xftp

  • 首先新建文件

  • 名称可以随便起

  • 主机为xxxxxx.xxxx.com(即@后的所有内容)

  • 端口号为ssh -p 123456 root@xxxxxx.xxxx.com格式中的123456

  • 密码
    在这里插入图片描述连接后左侧为你电脑本机,右侧是云主机,在右侧打开你想要存放文件的文件夹,双击左侧本机文件即可将文件上传到云主机的对应文件夹。

在这里插入图片描述
3、离线安装
pytorch安装包路径
进入上传到的文件目录,使用pip命令安装
如我存放在了/root/autodl-fs文件夹下,首先在终端使用cd autodl-fs,使用ll可查看文件列表。
再使用pip 包的名称即可安装,包的名称可以使用tab自动补齐。
在这里插入图片描述4、jupyter页面更新(即在jupyter页面里增加一个基础环境:py38)

进入刚刚创建的虚拟环境,输入conda install ipykernel
再输入:ipython kernel install --user --name=py37
出现
在这里插入图片描述5、验证cuda是否可用 ***(到这里之前为了省钱都是无卡模式开机,为了验证环境是否配置成功需要先关机再开机,这次开机不要选择无卡模式了,需要根据你选择的配置进行按小时计费)***
进入notebook下的py37

import torchvision
import torch
print('你对应的torch的版本信息',torch.__version__)
print('返回true即为可用',torch.cuda.is_available())
# 1.12.0+cu113
# True

在这里插入图片描述

三、连接Pycharm

点击File,点击Settings,点击Python interpreter,点击小齿轮的Add
在这里插入图片描述
点击SSH interpreter,填写对应的Host和Username(即上文连接xftp的主机,用户名和端口号)
在这里插入图片描述
输入密码
在这里插入图片描述选择python和项目路径(一会会上传),如果你和我上文一样,新建了一个python3.7.1的conda环境则需要到/root/miniconda3/envs/py37寻找python
在这里插入图片描述

上传你的项目文件
在这里插入图片描述
开始连接,在下面会出现对应终端
在这里插入图片描述

在这里插入图片描述

四、训练模型

切换到项目存放的文件夹,执行python train.py && shutdown 我的训练模型代码放在train.py文件下,如果你的训练代码不在这里请自行修改。shutdown的作用是在代码运行结束后,云主机会自动关机,以防止再产生不必要消费。

这篇关于Pycharm连接云算力远程服务器(AutoDL)训练深度学习模型全过程的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/656822

相关文章

Java实现远程执行Shell指令

《Java实现远程执行Shell指令》文章介绍使用JSch在SpringBoot项目中实现远程Shell操作,涵盖环境配置、依赖引入及工具类编写,详解分号和双与号执行多指令的区别... 目录软硬件环境说明编写执行Shell指令的工具类总结jsch(Java Secure Channel)是SSH2的一个纯J

深度解析Python中递归下降解析器的原理与实现

《深度解析Python中递归下降解析器的原理与实现》在编译器设计、配置文件处理和数据转换领域,递归下降解析器是最常用且最直观的解析技术,本文将详细介绍递归下降解析器的原理与实现,感兴趣的小伙伴可以跟随... 目录引言:解析器的核心价值一、递归下降解析器基础1.1 核心概念解析1.2 基本架构二、简单算术表达

详解python pycharm与cmd中制表符不一样

《详解pythonpycharm与cmd中制表符不一样》本文主要介绍了pythonpycharm与cmd中制表符不一样,这个问题通常是因为PyCharm和命令行(CMD)使用的制表符(tab)的宽... 这个问题通常是因为PyCharm和命令行(CMD)使用的制表符(tab)的宽度不同导致的。在PyChar

深度解析Java @Serial 注解及常见错误案例

《深度解析Java@Serial注解及常见错误案例》Java14引入@Serial注解,用于编译时校验序列化成员,替代传统方式解决运行时错误,适用于Serializable类的方法/字段,需注意签... 目录Java @Serial 注解深度解析1. 注解本质2. 核心作用(1) 主要用途(2) 适用位置3

Java MCP 的鉴权深度解析

《JavaMCP的鉴权深度解析》文章介绍JavaMCP鉴权的实现方式,指出客户端可通过queryString、header或env传递鉴权信息,服务器端支持工具单独鉴权、过滤器集中鉴权及启动时鉴权... 目录一、MCP Client 侧(负责传递,比较简单)(1)常见的 mcpServers json 配置

Web服务器-Nginx-高并发问题

《Web服务器-Nginx-高并发问题》Nginx通过事件驱动、I/O多路复用和异步非阻塞技术高效处理高并发,结合动静分离和限流策略,提升性能与稳定性... 目录前言一、架构1. 原生多进程架构2. 事件驱动模型3. IO多路复用4. 异步非阻塞 I/O5. Nginx高并发配置实战二、动静分离1. 职责2

Maven中生命周期深度解析与实战指南

《Maven中生命周期深度解析与实战指南》这篇文章主要为大家详细介绍了Maven生命周期实战指南,包含核心概念、阶段详解、SpringBoot特化场景及企业级实践建议,希望对大家有一定的帮助... 目录一、Maven 生命周期哲学二、default生命周期核心阶段详解(高频使用)三、clean生命周期核心阶

linux系统上安装JDK8全过程

《linux系统上安装JDK8全过程》文章介绍安装JDK的必要性及Linux下JDK8的安装步骤,包括卸载旧版本、下载解压、配置环境变量等,强调开发需JDK,运行可选JRE,现JDK已集成JRE... 目录为什么要安装jdk?1.查看linux系统是否有自带的jdk:2.下载jdk压缩包2.解压3.配置环境

Linux搭建ftp服务器的步骤

《Linux搭建ftp服务器的步骤》本文给大家分享Linux搭建ftp服务器的步骤,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录ftp搭建1:下载vsftpd工具2:下载客户端工具3:进入配置文件目录vsftpd.conf配置文件4:

深度剖析SpringBoot日志性能提升的原因与解决

《深度剖析SpringBoot日志性能提升的原因与解决》日志记录本该是辅助工具,却为何成了性能瓶颈,SpringBoot如何用代码彻底破解日志导致的高延迟问题,感兴趣的小伙伴可以跟随小编一起学习一下... 目录前言第一章:日志性能陷阱的底层原理1.1 日志级别的“双刃剑”效应1.2 同步日志的“吞吐量杀手”