【训练必读贴】如何正确执行训练并完成自动上传结果后关机?
-
一、执行训练
数据已经存在实例内,接下来是进行训练的阶段。可以使用 JupyterLab 或 VSCode 等工具编写代码。注意代码中引用的数据路径需要改为实例内的数据路径。
耗时长的训练任务需要通过 Tmux 放在后台运行,这样可以关闭本地电脑而不中断训练。二、自动上传结果后关机
按量付费的实例可通过下列操作实现训练完成后上传结果到个人数据,之后关机终止计费。该操作可以节约按量付费的使用成本,以及避免因机器被占用导致的
/hy-tmp
的数据无法查看与下载。示例脚本的操作需要以下前提,部分操作根据实际需求调整。
-
列表训练的结果在
/hy-tmp/result
中 -
列表实例中需要提前使用平台账号手机号与密码执行
oss login
成功登陆
在
/root
目录下使用 vim 创建一个upload.sh
脚本。cd vim upload.sh
脚本内容如下,使用 vim 编辑器,输入“ l ”进入插入模式,粘贴下来整个脚本内容,再输入" 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]
-