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、离线安装
进入上传到的文件目录,使用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的作用是在代码运行结束后,云主机会自动关机,以防止再产生不必要消费。

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

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

相关文章

练习12.6_横向射击_Python编程:从入门到实践(第3版)

编写一个游戏,将一艘飞船放在屏幕左侧,并允许玩家上下移动飞船。在玩家按空格键时, 让飞船发射一颗在屏幕中向右飞行的子弹,并在子弹从屏幕中消失后将其删除。 ship_shooting.py import pygame import sys from leftship impor…

玩转WEB接口之三续篇【HTTPS证书申请 - nginx验证】

文章目录 一, 概述二,nginx下载三,访问域名1. 做域名映射2. 运行nginx并通过域名访问 四,配置SSL证书1. 配置证书文件2. nginx 添加证书文件 五、运行并验证1. 测试、重新加载2. https访问 一, 概述 接上篇 玩转WEB接…

Mac下查看、配置和使用环境变量

Mac下查看、配置和使用环境变量 一:Mac怎么查看环境变量命令 printenv一:这个命令会一次性列出所有环境变量的键值对,输出格式为: VAR1value1 VAR2value2 ...二: 也可以通过给这个命令加上环境变量名参数&#xff0…

力扣hot100 每日温度 单调递减栈

Problem: 739. 每日温度 文章目录 思路复杂度💝 单调栈 思路 👩‍🏫 参考题解 复杂度 ⏰ 时间复杂度: O ( n ) O(n) O(n) 🌎 空间复杂度: O ( n ) O(n) O(n) 💝 单调栈 class Solution {public int[] dailyTem…

二叉树--230. 二叉搜索树中第K小的元素/medium 理解度A

230. 二叉搜索树中第K小的元素 1、题目2、题目分析3、复杂度最优解代码示例4、适用场景 1、题目 给定一个二叉搜索树的根节点 root ,和一个整数 k ,请你设计一个算法查找其中第 k 个最小元素(从 1 开始计数)。 示例 1&#xff1a…

【Linux】动态库和静态库——动态库和静态库的打包和使用、gcc编译、拷贝到系统默认的路径、建立软连接

文章目录 动态库和静态库1.静态库和动态库的介绍2.静态库的打包和使用2.1生成静态库2.2使用静态库的三种方式2.2.1gcc编译2.2.2拷贝到系统默认的路径2.2.3建立软连接 3.动态库的打包和使用3.1生成动态库3.2使用动态库3.3解决加载不到动态库的方法 动态库和静态库 1.静态库和动…

多线程 之 静态代理

什么是静态代理? 静态代理是一种思想,找一个代理负责一些琐事,自己则专注于一件大事。 有哪些具体的表现? 在日常生活中做饭就是这样,会做饭的人需要做饭,那么其他的人就来帮他打杂,这样做饭的…

JavaScript的冒泡与捕获

1.概念。 冒泡事件:微软公司提出的,事件由子元素传递到父元素的过程叫做冒泡(false)。 捕获事件:网景公司提出的,事件由父元素传递到子元素的过程叫做事件捕获(ture)。 2.冒泡事件与…

vscode copilot怎么去掉提示代码(ghost text or incline completion)

原因:最近在刷题,被这个提示烦死了,记录一下怎么关掉,防止将来需要开启找不到了XD. 1.直接ctrlshiftp召唤设置 2.输入preferences: open usr settings找到如图第一个 3.去掉这个方框的勾选 ps直接在extension里disable不行呢 不…

使用宝塔面板部署Node.js+Mysql服务和Vue3-Admin项目到云服务器上

准备工作 一台云服务器,可以先用免费试用一个月的服务器进行练手;我这里选择的是腾讯云的轻量云服务器; 1、在云服务器上安装宝塔面板 宝塔面板官网地址:https://www.kancloud.cn/chudong/bt2017/424209 1.1 安装Xshell脚本工…

你好,C++对象

你好,对象 面向对象开发对象的定义 类与对象类的定义类的访问限定符及封装类的实例化类对象模型结构体内存对齐规则 this指针this指针的引入 this指针的特性 类的默认成员函数构造函数析构函数拷贝构造函数结语 面向对象开发 对象的定义 对象的含义是指具体的某一…

MySQL 聚集与非聚集索引

文章目录 1.聚集索引1.1 介绍1.2 优点1.3 缺点 2.非聚集索引3.区别参考文献 MySQL 中,根据索引树叶结点存放数据行还是数据行的地址,可以将索引分为两类: 存放数据行:聚集索引存放数据行地址:非聚集索引 InnoDB 使用聚…

Keil-C语言小总结

1、 &取地址符,*取地址内容 int *ptr;//声明指针 2、ptr &c; // 将c的地址赋值给指针变量ptr 3、可选参数函数 4、C宏定义 5、 memset:最快的数据清零函数 void *memset(void *s, int ch, size_t n); 分别是 字符串 要值的数据(0…

TensorFlow2实战-系列教程4:数据增强:keras工具包/Data Augmentation

🧡💛💚TensorFlow2实战-系列教程 总目录 有任何问题欢迎在下面留言 本篇文章的代码运行界面均在Jupyter Notebook中进行 本篇文章配套的代码资源已经上传 对于图像数据,将其进行翻转、放缩、平移、旋转操作就可以得到一组新的数据…

分布式ID(3):雪花算法生成ID之UidGenerator(百度开源的分布式唯一ID生成器)

1 UidGenerator官方地址 UidGenerator源码地址: https://github.com/baidu/uid-generator UidGenerator官方说明文档地址: https://github.com/baidu/uid-generator/blob/master/README.zh_cn.md 这边只做简单介绍,详细说明请看官方说明文档。 2 Snowflake算法 Snowfl…

spring boot学习第八篇:操作elastic search的索引和索引中的数据

前提参考&#xff1a;elastic search入门-CSDN博客 前提说明&#xff1a;已经安装好了elastic search 7.x版本&#xff0c;我的es版本是7.11.1 1、 pom.xml文件内容如下&#xff1a; <?xml version"1.0" encoding"UTF-8"?> <project xmlns&q…

空间计算时代催生新一波巨大算力市场需求

什么是空间计算&#xff1f; 空间计算是一种整合虚拟现实&#xff08;VR&#xff09;、增强现实&#xff08;AR&#xff09;、混合现实&#xff08;MR&#xff09;等技术的计算模式&#xff0c;旨在将数字信息与真实世界融合在一起。这种融合创造了一个全新的计算环境&#xff…

机房环境动力监控系统:S275远程控制网关助力高效管理

现场问题 1、机房安全隐患 机房存在意外断电、温湿度过高过低、漏水断路等隐患&#xff0c;传统监测手段难以提前发现和预警。 2、机房远程运维困难 因环境改变、非授权活动、设备状态变化等引起的事故&#xff0c;难以满足机房远程运维的可靠管控要求。 3、机房改造成本高…

菱形打印和十进制ip转二进制

1.菱形打印 用for循环 #!/bin/bashread -p "请输入菱形的大小&#xff1a;" num #打印向上的等腰三角形 for ((i1;i<num;i)) dofor ((jnum-1;j>i;j--))doecho -n " " #打印的是前面的空格donefor ((k1;k<2*i-1;k))doecho -n "*" #打印…

HCIE之BGP正则表达式(四)

BGP 一、AS-Path正则表达式数字| 等同于或的关系[]和.$ 一个字符串的结束_代表任意^一个字符串的开始()括号包围的是一个组合\ 转义字符* 零个或多个&#xff1f;零个或一个一个或多个 二、BGP对等体组三、BGP安全性 一、AS-Path正则表达式 正则表达式是按照一定模版匹配字符串…