如何在云平台上租用GPU训练神经网络?

本文分享了作者使用矩池云平台租用GPU进行大规模数据集卷积神经网络训练的经验,详细介绍了从注册账号到利用GPU进行模型训练的全过程,并对比了GPU与CPU训练效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  刚入门机器学习,跟着一些博主训练了几个卷积神经网络,使用的比较小的数据集,但在CPU训练神经网络的速度可以说是龟速,一个3000多张图片的数据集都要训练十几分钟。
  最近我也把自己毕业设计需要的数据集制作完成了,训练集图片数量大概有13w张,验证集差不多2w张,用CPU训练根本是不可实现的。除了更换GPU显卡,我还在网上了解到可以在云平台上租用GPU来训练自己的神经网络,经过几天的摸索,终于掌握了其中一个云平台的使用方法,特来分享。

一、云平台的选取与注册

  通过网上查找,现在使用比较多的云平台主要有Google Colab,MistGPU,矩池云等等,矩池云是国内的云平台,而且操作相对简单,所以我选择了矩池云。其链接如下:矩池云官网。注册的时候可以选择填写邀请码,双方都可以得到118元大礼包,大家开心的话就可以填写我的邀请码:PMl2Q2ZUmiYxeJd。
注册完成后进入个人首页如下图所示:

在这里插入图片描述
  左侧就是各种功能,以及网盘等等。那如何租用机器呢,可以看到上图我的机器后面有启动新机器,进入租赁机器的页面,选择左侧GPU行列,那个默认的NGPU是多块GPU共同训练,我还没用过这个,选择需要租赁的机器。
在这里插入图片描述
  选择合适的机器,点击红框部分就可以租用相应的机器了。由于矩池云的机器数量有限,有时可能没有机器可以租,全部都是灰色的,可能是机器都被租完了,一般可以等待一会,或者在早上或晚上租用机器,这个时段用的人少一些。
在这里插入图片描述
  选择合适的镜像,如果你的代码是来自于GitHub,那么上传者一般会说明cuda版本,Pytorch或者TensorFlow版本等信息,如果不知道选择什么,就选择python3.7_多框架,里面一般什么都有。然后点击立即租赁。一般需要等待数十秒,机器才能启动,启动完成后,即如下图所示。
在这里插入图片描述
  如图即租赁完成,可以看到有两个链接,一个是SSH链接,一个是JupyterLab链接,简单理解就是链接远程主机的,在JupyterLab中可以直接运行相关代码,进行训练操作等。但是我觉得在JupyterLab中进行操作,可视化也不是很好,而且可能由于网络原因,不能稳定地进行长期训练,就选择了使用SSH链接的方法。

二、如何远程链接并登录矩池云

  我们通常使用的IDE是Pycharm,而Pycharm是可以通过SSH链接远程登录矩池云的。我在网上查找方法并按照步骤进行时,进行到最后一步,无论怎么操作,总是找不到文件,而且操作步骤也略微复杂,有兴趣的伙伴可以看一下这个方法进行操作,也可以分享你的经验。这篇博文清晰的介绍了这个方法,可惜我一直成功不了:
Pycharm使用SSH链接远程连接矩池云的方法
  我在矩池云助手那里了解到,矩池云对Pycharm2019.2以及2019.3推出了插件,利用插件可以很快,很方便地连接矩池云。如果你的Pycharm不是这两个版本的,或许你只能学习下上面的方法。下面介绍插件的下载以及导入:
点击下载Pycharm矩池云内侧插件
  接下来打开你的IDE,File-Settings-Plugins,点击设置小图标,选择Install Plugin from Disk,选择你刚刚下载的mp-connect-tool.zip文件,点击确定,随后重启你的IDE即可,如图所示:
在这里插入图片描述
  重启你的IDE后,如果插件安装成功, 可以在右下角看到你刚刚安装好的插件,点击即可登录,登录的用户名和密码就是你注册时使用的用户名以及密码,我已经登录完成如图所示:
在这里插入图片描述
  可以看到我刚刚在矩池云租用的机器,选择连接,此时就已经连接完成了。

三、利用矩池云租用的GPU训练一个具体的卷积神经网络并与CPU训练进行对比

  首先我们要明白,我们所做的任何训练,包括文件的读取与保存都是在云端进行的,所以我们第一步需要做的,就是先向矩池云的云盘中传入我们的代码以及数据集。

step1:上传文件并进行压缩包解压

  一般来说,你的代码和数据集都是存在本地的,如图所示,我是这样安排的。
在这里插入图片描述
  可以看到,我这个工程的名字是My_project,里面包含数据集的压缩包以及模型,训练以及预测脚本。因为连接了云服务器以后,本地的文件会自动同步到云,所以这里建议在向云盘上传文件时,工程也命名为My_project,以避免不必要的麻烦。
在这里插入图片描述
  如上图,进入矩池云,点击左侧我的网盘,建立一个同名文件件,然后进入文件夹,将刚刚的三个脚本以及压缩文件传至该文件夹中。
上传完成后,需要对压缩文件进行解压。在网盘里面是无法解压文件的,对矩池云而言,需要进入JupyterLab进行文件的解压。进入JupyterLab的地址在你的租用列表的第二个地址,直接使用浏览器就可以打开。
在这里插入图片描述
  进入Terminal,这个就好比我们平时进入的命令窗口,输入相应指令就可以进行解压操作。矩池云网盘默认我的保存文件路径为/mnt,你可以在JupyterLab的左侧点击mnt文件夹,确认里面是否有你刚刚传入的文件。下面我以我的路径为例,来解压缩data_set.zip压缩文件。输入以下命令:

cd /mnt/My_project

  然后输入:

ls

  就可以显示该文件目录下的所有文件,如果你的压缩文件是zip文件,此时就可以输入:

unzip data_set.zip

  整体如图所示,然后就开始解压了。
在这里插入图片描述
  解压完成后,就可以在当前目录看到一个文件夹了。当然,我们在平时所用到的压缩文件格式不止zip一种,如果是RAR/tar.gz/gz这些压缩包的用户,命令如下:
  gz解压

gzip -d file.gz

  tar.gz解压

tar -xzvf myetc.tar.gz 

  rar解压

apt-get update
apt-get install rar unrar
unrar  x  test.rar

step2:连接云服务器进行神经网络的训练

  由于我们所需要的数据集都已经上传至云盘,我建议将本子的数据集压缩包删除,因为等会连接远程服务器的时候,本地文件都会自动上传至云盘,如果数据集压缩包在目录内,也会上传,会导致软件卡顿,影响学习。
在这里插入图片描述
  我这里就只保留了几个脚本小文件,方便本地操作。上述所有步骤完成后,就可以打开矩池云插件进行,利用云端GPU,进行神经网络的训练了。
在这里插入图片描述
  点击覆盖,此时你对这几个脚本做的任何操作都会自动同步到云盘。当然你也要选择同步目录,来确保这些文件能同步到正确的位置。
在这里插入图片描述
  接下来的操作就是更改IDE的解释器为远程解释器。在这里插入图片描述
  在File-Settings将解释器更改为Remote SDK,邮件单击,点击Run,就可以开始训练你的卷积神经网络了。训练完成的时间非常快,我使用的网络是AlexNet,数据集中大概有3000多张图片,只用了1分钟不到就训练了10个epoch,下图是其中一个epoch所使用的时间。
在这里插入图片描述
  训练第一个epoch大概只用了9秒的时间,验证测试集大概是2秒,可能你对这个时间没有概念,可以看一下使用CPU进行训练一个epoch所需要的时间。
在这里插入图片描述
  此图是使用CPU进行训练的情况,可以看到,训练一个epoch的时间是2分19秒,是使用CPU训练时间的15倍之多。通过对比,我们能明显感受到我们确实成功连接了云上的GPU,并成功地缩短了训练的时间。我对毕设的13张数据集进行训练时,使用CPU几乎不可能,但是使用租用的GPU,一个多小时就训练完成了。

四、一些常见的问题及建议

  一、根据我租用的GPU来看,矩池云平台上1元/h和6元/h的GPU,我感受不到差别,或许是网络复杂度比较小,高性能的GPU无法展现他真正的实力吧,所以建议大家合理租赁GPU。
  二、租用了GPU,但是训练的速度跟CPU完全一致,根本没有任何提升,是什么问题?
  遇到这种情况,可以从以下几方面来考虑解决:第一是你使用的代码是否对cuda,Pytorch版本有着严格的要求,如果有的话,在选择镜像的时候一定要记得选择合适自己的镜像。第二将训练代码中batch_size数值改大一些。我尝试了前两种方案,都没有解决我刚开始遇到的问题,第三种就是增大Data_loader中的num_workers数值,如果你的num_workers设置的是0的话,那么可以更改为2的整数次幂,我更改的32,速度就很明显的提升。这个数据的意义就是让CPU处于多线程工作模式,所以由于内存的限制,num_workers数值不可能无限制增大。为什将CPU设置成多线程工作就能解决这个问题呢,我认为可能是数据的处理在CPU中,而模型的学习是在GPU中,CPU处理的速度太慢了与GPU的速度不匹配,所以设置了多线程可以解决这个问题。
  三、运行程序时有时候会报一些奇奇怪怪的错误,你可以先试着将矩池云注销,然后重新登录,如果仍然解决不了,有可能是解释器的问题,将解释器更改一下,一般有两个Remote,有一个是Default,不要选哪个带Default的,一般就可以解决报错问题。
  大家可以使用自己神经网络以及数据集试验一下上述的所有步骤是否可行。我也将我自己的数据集放在这里,有需要的朋友可以下载,按照上述步骤进行验证,所有配置完以后,点击train.py就可以开始训练了。
链接:https://pan.baidu.com/s/1P7MdYwNsHrYc3qHunccffQ
提取码:kut3

### 租用云服务器训练 YOLOv11 深度学习模型 #### 创建云实例并配置环境 为了在云端租用 GPU 服务器来训练 YOLOv11 模型,可以遵循如下流程: 选择合适的云计算平台,如阿里云、腾讯云或 AWS 等。这些平台提供了多种类型的虚拟机供用户选择,特别是针对深度学习应用优化过的 GPU 实例。 注册账号并通过实名认证后进入控制台界面,找到“ECS”服务下的“实例管理”,点击创建新实例按钮按照向导提示完成资源配置的选择过程。对于运行 YOLO 这样的神经网络算法来说,建议选用配备有 NVIDIA Tesla V100 或 A100 显卡的高性能计算节点[^1]。 安装必要的依赖库以及框架工具包,比如 CUDA Toolkit 和 cuDNN SDK 来支持 GPU 加速功能;同时还需要准备 Python 解释器及其 pip 工具用于后续软件包的下载安装工作。可以通过 SSH 客户端连接到远程主机执行相应的 Linux 命令实现上述操作[^2]。 ```bash sudo apt-get update && sudo apt-get install -y python3-pip git wget unzip libgl1-mesa-glx pip3 install --upgrade pip setuptools wheel torch torchvision torchaudio opencv-python matplotlib tqdm tensorboard pycocotools ``` 克隆官方 GitHub 仓库获取最新版本的目标检测项目源码文件夹,并参照文档说明调整参数设定以适配个人数据集特点。如果打算基于预训练权重继续微调,则记得提前准备好对应格式的基础模型档案以便加载使用。 ```bash git clone https://github.com/ultralytics/yolov5.git yolov11_repo_name # 注意实际地址可能有所变化 cd yolov11_repo_name/ wget URL_TO_PRETRAINED_WEIGHTS_FILE.pth python3 train.py --img 640 --batch 16 --epochs 100 --data custom_dataset.yaml --weights pretrained_weights_file_path.pth ``` 启动 TensorBoard 可视化监控面板辅助观察损失函数收敛情况以及其他重要指标的变化趋势。这有助于及时发现潜在问题所在从而采取有效措施加以改进优化整个训练环节的质量效率。 ```bash tensorboard --logdir runs/train/exp ``` #### 数据上传与存储策略 考虑到大规模图像样本传输耗时较长且成本较高,推荐采用对象储存服务(Object Storage Service, OSS),它允许开发者轻松管理和访问海量非结构化的二进制资料流。具体做法是在本地机器上打包整理好待处理的数据集压缩包再通过 ossutil 工具将其同步推送至指定的空间位置等待进一步读取解析即可。 ```bash tar czvf dataset.tar.gz ./images_folder ./labels_folder ossutil cp dataset.tar.gz oss://bucket-name/path/to/store/dataset.tar.gz ```
评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值