乐趣区

关于深度学习:恒源云训练指引

该指引分为三个步骤。

  • 从本地上传压缩包到平台集体数据
  • 把平台集体数据下载到实例内
  • 进行训练与主动上传后果并关机

操作流程大略如下:

本地上传集体数据

在本地首先将训练的数据打成 ziptar.gz 罕用格局的压缩包。而后本地下载并装置 oss 命令行工具,应用该工具将压缩包上传到平台的集体数据中。

在这里应用 Windows 零碎作为本地环境。如果是其余零碎能够参考 oss 命令行工具 进行装置。

下载 OSS (Windows) 可执行文件。下载实现后将 oss_windows_x86_64.exe 文件名改为 oss.exe。在 Windows 下关上 CMD(命令提示符)或 PowerShell。

应用 cd 命令切换到 oss.exe 所在的目录,在这里 oss.exe 保留在了 D:\Download 下。在这里是应用 PowerShell 终端执行。

PS C:\Users\windows> cd D:\Download
PS D:\Download>

在这个目录下执行 .\oss 可执行该命令。上传前须要先进行登陆操作。登陆的账号为恒源云平台的账号名与明码,并非实例。账号名为手机号,如果是非中国大陆手机号码,须要加上带 + 的国家号。

# 执行 .\oss login
PS D:\Download> .\oss login
Username:139********
Password:***********
139******** login successfully!

登陆胜利后将进行传输文件的操作,将本地打成的压缩包上传到集体数据中。留神上传的文件扩展名仅反对常见的压缩包格局。在这里的压缩包的门路为 D:\Datasets\MNIST.zip

# 执行 .\oss cp D:\Datasets\MNIST.zip oss://
PS D:\Download> .\oss cp D:\Datasets\MNIST.zip oss://

Start at 2021-10-22 06:21:48.2061924 +0000 UTC

[-------------------------------------] 100.00% 52.34MB/s 76.55MB/76.55MB 1.53s

Upload successfully, 76.55MB, n/a, D:\Datasets\MNIST.zip --> oss://MNIST.zip, cost [7020], status [200], request id [0000017CA6A9BE01901395D26CE9A228]

上传胜利后在平台的集体数据页面能够查看到该文件。

实例下载集体数据

在平台创立或启动实例后,通过 JupyterLab 的页面进入终端或 SSH 客户端连贯终端。

在终端中同样应用 oss 先进行登陆操作。登陆的账号为恒源云平台的账号名与明码,并非实例。账号名为手机号,如果是非中国大陆手机号码,须要加上带 + 的国家号。

# 执行 oss login
~# oss login
Username:139********
Password:***********
139******** login successfully!

登陆胜利后将进行下载文件的操作,将刚刚上传的文件下载到 /hy-tmp 中(有共享存储的机型能够用 /hy-nas)。

# 执行 oss cp oss://MNIST.zip /hy-tmp
~# oss cp oss://MNIST.zip /hy-tmp
Start at 2021-10-22 06:37:17.227649376 +0000 UTC

[-------------------------------------] 100.00% 62.85MB/s 76.55MB/76.55MB 1.42s
Waiting to rename temporary file...

Download successfully, 76.55MB, n/a, oss://MNIST.zip --> /hy-tmp/MNIST.zip, cost [2422], status [206], request id [0000017CA6B7D6419012DB7767D11959]

下载胜利后,进入下载的门路下,解压该压缩包。

# 执行 cd /hy-tmp 进入该目录
~# cd /hy-tmp
# 执行 unzip -q MNIST.zip 解压该压缩包
/hy-tmp# unzip -q MNIST.zip

执行训练并主动上传后果后关机

数据曾经存在实例内,接下来是进行训练的阶段。能够应用 JupyterLab 或 VSCode 等工具编写代码。留神代码中援用的数据门路须要改为实例内的数据门路,在上文例子中应用的是 /hy-tmp。耗时长的训练任务须要通过 Tmux 放在后盾运行,这样能够敞开本地电脑而不中断训练。

按量付费的实例可通过下列操作实现训练实现后上传后果到集体数据,之后关机终止计费。该操作能够节约按量付费的应用老本,以及防止因机器被占用导致的 /hy-tmp 的数据无奈查看与下载。

示例脚本的操作须要以下前提,局部操作依据理论需要调整。

  • 训练的后果在 /hy-tmp/result
  • 实例中须要提前应用平台账号手机号与明码执行 oss login 胜利登陆

/root 目录下应用 vim 创立一个 upload.sh 脚本。

cd
vim upload.sh

脚本内容如下,应用 vim 编辑器,输出【I】进入插入模式,粘贴下来整个脚本内容,再输出 Esc,:wq 和 Enter 保留。

#!/bin/bash
set -e

cd /hy-tmp
# 压缩包名称
file="result-$(date"+%Y%m%d-%H%M%S").zip"
# 把 result 目录做成 zip 压缩包
zip -q -r "${file}" result
# 通过 oss 上传到集体数据中的 backup 文件夹中
oss cp "${file}" oss://backup/
rm -f "${file}"

# 传输胜利后关机
shutdown

给脚本增加执行权限。
chmod u+x upload.sh

此脚本实现了将 /hy-tmp/result 做成 zip 压缩包,再将此文件上传到了集体数据中。执行胜利后执行关机操作。

在训练的工作代码中的最初调用此 /root/upload.sh 脚本运行即可,首次应用时倡议先进行测试一下。如在 Python 代码中援用:

import os
os.system('/root/upload.sh')

当训练执行实现关机后,在本地能够应用 oss 命令行工具下载打包好的后果文件。当实例机器被占用无奈开机时,也能够通过在其余机器上创立新实例并通过 oss 下载数据到新实例中。具体对于 oss 相干操作参考文档 oss 命令工具。

# 登陆恒源云账号,应用恒源云的账号名与明码,账号名为手机号
# 如果是非中国大陆手机号码,须要加上带 + 的区号
~# oss login
Username:139********
Password:***********
139******** login successfully!

# 查看文件和文件夹,-s 示意只显示文件名
~# oss ls -s oss://
Folder list:
oss://
oss://backup/

Object list:
oss://backup/result-20211018-164323.zip

# 下载集体数据中的 result-20211018-164323.zip 文件到当前目录
~# oss cp oss://backup/result-20211018-164323.zip .
Download successfully, 310B, n/a, oss://backup/result-20211018-164323.zip --> /root/result-20211018-164323.zip, cost [57], status [200], request id [0000017C92929EF49014BE16738685B7]
退出移动版