You need to enable JavaScript to run this app.
导航

使用 WebIDE 开发代码

最近更新时间2023.11.30 11:18:36

首次发布时间2022.08.11 14:42:36

WebIDE 是机器学习平台提供的在线集成开发环境。新版WebIDE内置了VSCode-Python插件、Tensorboard、Jupyter Notebook,获得更好的在线开发体验。下文主要介绍在 WebIDE 中常用的一些工具如 Volc CLI 和 Rclone CLI。

使用 Volc 命令行工具提交分布式训练任务

机器学习平台提供了命令行工具供用户在任何网络通畅的机器上管理平台上的训练任务。

Volc 配置

  1. 在命令行使用 volc configure ,依次进行下边相关参数的配置。
volc configure
volc access key [********4M2Q]:          //请输入该账户的 AK
volc secret access key [********TQ==]:   //请输入该账户的 SK
volc region [cn-beijing]:                //请输入所属的地域(cn-beijing、cn-shanghai、cn-guangzhou)
  1. 设置完成后请检查$HOME/.volc/config$HOME/.volc/credentials 两个文件是否存在。
# 查看 config 文件
ls $HOME/.volc/
config      credentials

如何使用 Volc 提交自定义任务

  • 通过配置文件发起自定义训练。
volc ml_task submit -c config.yaml

Config配置

# 任务名称
TaskName: my-dev-task

# 任务描述【选填】
Description: ""

# 标签【选填】
Tags: 
  - tag-a
  - tag-b

# 入口命令
Entrypoint: python3 /path/to/demo_project/torch_tensorboard.py

# 本地代码路径
# 如果是目录,且以 '/' 结尾,则将该目录下的所有内容上传到 RemoteMountCodePath
# 如果是目录,且不以 '/' 结尾,则将该目录及该目录下所有内容上传到 RemoteMountCodePath
UserCodePath: ./demo_project/
# 容器中的代码挂载路径
RemoteMountCodePath: "/path/to/demo_project/"

# 训练使用的镜像 URL 地址
ImageUrl: "cr-cn-beijing.volces.com/ml_platform/pytorch:1.7"
# 镜像密钥【选填】
# 当 ImageUrl 为非火山引擎的其他外部私有仓库时,需要填写仓库的用户名和密钥才能拉取镜像
ImageCredential:
    RegistryUsername: "replace with your RegistryUsername"
    RegistryToken: "replace with your RegistryToken"

# 实例配置
# 训练框架,支持 TensorFlowPS / PyTorchDDP / MPI / BytePS / Custom
Framework: "Custom"

# 实例配置
TaskRoleSpecs:
  - RoleName: "worker"              # 角色名称
    RoleReplicas: 2                 # 角色数量
    Flavor: "ml.c1ie.xlarge"        # 实例规格

# 所属队列名称【选填】
# 不填则使用公共队列
ResourceQueueName: "replace with your ResourceQueueName"

# 环境变量【选填】
# 如需查看标准输出流之外的日志,请将该日志写入以 .log 为后缀名的文件中并放入环境变量 MLP_LOG_PATH 对应的路径下
Envs:
  - Name: "ENV_A"
    Value: "value"
  - Name: "ENV_B"
    Value: "value"

# 最长运行时间,超过该时长任务将被系统自动取消,填写 0 表示关闭该功能【选填】
ActiveDeadlineSeconds: 432000

# 实例保留时长,实例完成或失败后环境可保留的时长,该时长不超过任务最长运行时间【选填】
DelayExitTimeSeconds: 120

# 是否开启 TensorBoard【选填】
# 请将 TensorBoard 日志写入该路径:os.getenv("TENSORBOARD_LOG_PATH", "/tensorboard_logs/")
EnableTensorBoard: true

# TOS 数据盘的缓存服务所需的内存比例(0~1)【选填】
SidecarMemoryRatio: "replace with your ratio"   

# 共享文件系统挂载【选填】
# 共享文件系统提供了持久化存储服务,其数据不会因工作负载结束运行或异常而丢失,最多可挂载10个数据盘。
Storages:
  - Type: "Tos"                               # 挂载 TOS 数据盘
    MountPath: "replace with your path"       # 容器中的挂载目录
    Bucket: "replace with your bucket"        # 待挂载的 TOS Bucket
    Prefix: "replace with your prefix"        # 待挂载的 TOS Bucket 下的目录路径【选填】
  - Type: "Vepfs"                             # 挂载 vePFS 数据盘
    MountPath: "replace with your path"       # 容器中的挂载目录
  - Type: "Nas"                               # 挂载 NAS 数据盘
    MountPath: "replace with your path"       # 容器中的挂载目录
    NasAddr: "replace with your NAS address"  # NAS 实例的挂载点地址


Rclone

Rclone 是一款功能强大的命令行工具,支持对接多种云存储系统,可用来执行数据上传、下载、同步和管理等操作。WebIDE 已内置了 Rclone 工具,仅需手动配置即可使用。

初始化配置

  1. 编辑~/.config/rclone/rclone.conf文件。

  2. 在 access_key_id 和 secret_access_key 分别输入账户对应的 AK、SK。

如何查看当前用户的AK、SK

操作指南

下文将介绍 TOS 的常见操作命令,例如查看目录、上传文件、查看目录大小等。更多命令介绍,请参见Rclone命令

查看桶或目录

  1. 查看当前账号下所有桶列表。
rclone lsd volces-tos: //volces-tos为配置的远程连接名称
  1. 查看某个桶内的一级文件夹列表。
rclone lsd volces-tos:bucket-demo //bucket-demo为桶名称

上传本地文件

  1. 通过使用 rclone copy 命令可将源端数据拷贝到目标端。
rclone copy source:sourcepath dest:destpath
  1. 将本地文件夹 testdir 中的所有文件复制到 bucket-demo 桶中,并放置到桶根目录下,可执行如下命令。
rclone copy testdir volces-tos:bucket-demo
  1. 将本地文件夹 testdir 复制到 bucket-demo 桶中,并让 testdir 作为桶内的一级目录,可执行如下命令。
rclone copy testdir volces-tos:bucket-demo/testdir

同步本地目录

  1. 当您需要同步增量数据到目标端(包括新增文件和被修改过的文件)时,可使用rclone sync命令
rclone sync source:path dest:path [flags]
  1. 如果您需要让桶内testdir文件夹中数据和本地文件夹testdir完全一致,可执行如下命令
rclone sync testdir volces-tos:bucket-demo/testdir

查看目录大小

  1. 如果您需要统计桶或者目录下的文件个数和总容量,可执行rclone size命令。
rclone size remote:path [flags]
  1. 例如您需要统计 bucket-demo 桶中的文件总数和容量大小,可执行如下命令。
rclone size volces-tos:bucket-demo
  1. 例如您需要统计 bucket-demo 桶中 testdir 文件夹的文件总数和容量大小,可执行如下命令。
rclone size volces-tos:bucket-demo/testdir

文件对比校验

  1. 如果您需要比对源端和目标端的数据,可执行 rclone check 命令。
rclone check source:path dest:path [flags]

可选参数如下:

  • --size-only:只比较文件大小。
  • --download:下载远程文件并对比。