数据管理

实例中有多个已经挂载好的数据目录可供使用,下表列出了各个数据目录的情况,根据实际场景进行使用。 在 用户中心数据管理 面板可以上传数据到 OSS 个人空间,即 /data-user

数据目录

实例的 / 路径限制为 30 GB 大小,请遵循下列目录说明选择合适的路径。使用 df -h 可以查看目录的大小使用情况。

危险

如果 30 GB 配额使用满,可能会造成实例启动或者重启失败,卡在启动中,请不要将 / 目录填满。

仅极链云提供的主机有 NAS /data-input、OSS /data-user、OSS /data-share 目录,机主出租的主机中没有这三个目录。但公共数据集可以使用 vcloud-oss-cli 命令工具下载。

目录特性

目录

类型

技术

权限

是否会迁移

速度

单价

/data-tmp

本地

本地 SSD

读写

本地目录,不跟随实例进行迁移

最快

永久免费

/data-output

本地

本地 SSD

读写

实例目录,跟随实例进行迁移

最快

推广期免费

/data-input

NAS

普通 NAS

读写

个人存储,跟随实例进行迁移

推广期免费

/data-user

OSS

个人空间

读写

个人存储,跟随实例进行迁移

0.5元 G/月

/data-share

OSS

公共空间

只读

公共存储,跟随实例进行迁移

永久免费

目录作用

目录

作用

/data-tmp

直接访问存储硬件的文件夹,速度最快,因为是SSD。但关机后此文件夹内容有一定概率会丢失。
如果您的任务对读取文件速度要求非常高,将数据放入 /data-tmp 文件夹后,读取数据训练。
这个文件夹在SSD硬盘空间不足的时候(剩余空间小于5GB),会保留最近登录此机器的前5个人的 /data-tmp 数据,其余人的 /data-tmp 数据会被清除。
如果您有重要的数据,请在关机之前把他们复制到 /data-input 中,并保持账户余额不会欠费,这样您开任何一台机器都可以访问到您的这些数据。

/data-output

TensorBoard 监视的文件夹,您把 TensorBoard 要求的 log 输出到这个文件夹就可以使用 TensorBoard 了

/data-input

如果您的任务对读取文件速度要求一般,您可以将数据存入 /data-input 文件夹(该目录数据不会丢失),之后读取数据训练,这样可以防止下次开机时训练数据丢失。

/data-user

存放从“数据管理”页面上传的所有数据的文件夹,文件夹是网络存储,直接在里面读取数据运行程序会很慢,但是该空间很大,采用的分布式存储方案,数据不会丢失,可靠性极高。
不要将文件解压在此目录,速度会很慢。

/data-share

官方提供的一些模型和样本数据

使用方法

实践高效的上传训练数据,下载训练结果。

/data-user 用来中转数据,该目录容量巨大且数据不会丢失,不要直接在它里面压缩或解压,速度会非常慢。

以下两个目录可用于解压和压缩。

/data-tmp 用来临时存放训练需要的输入数据。(迁移实例会丢失)

/data-input 用来长期存放用户的目录,文档/模型等所有经常访问的数据 (迁移实例会保留)

/data-user 拷贝到 /data-tmp/data-input 文件夹可以使用 rsync,能断点续传与查看进度。

以下提供了两种解压数据的方法供参考:

方法一:

直接远程解压到SSD文件夹

1.建立存放数据的目录 (test 只是个例子,实际使用根据自己需要命名)

mkdir -p /data-tmp/test

2.不同的压缩包,使用不同的解压命令解压

unzip /data-user/test.zip -d /data-tmp/test
tar zxvf /data-user/test.tar.gz -C /data-tmp/test/
tar jxvf /data-user/test.tar.bz2 -C /data-tmp/test/

方法二:

通过 rsync 将压缩包传输到 SSD 文件夹,然后再在 SSD 文件里进行解压

apt-get update
apt-get install rsync -y
rsync -ah --progress /data-user/test.gz /data-tmp/ && gzip -d /data-tmp/test.gz

如果不想下次使用时再次解压: (/data-input 比/data-user 访问速度快,但是比/data-tmp 访问速度慢)

可以通过命令 cp -rp /data-tmp/test /data-input/ 将解压好的数据移动到 /data-input 下。

重要

这样 /data-input 下存储的数据量会增大,收取的存储费用会有所增加(每 GB 数据每月存储费用 0.3 元,目前推广期不收费)

压缩命令(将训练结果压缩后存入 /data-user 目录,留个备份,后续会推出下载功能):

tar -zcf /data-user/backup.tar.gz /data-input

数据传输

控制台上传

通过控制台可以对数据上传到 OSS 个人空间中,上传的文件可以在实例中的 /data-user 目录下找到。

登录 极链 AI 云,选择 用户中心。在左侧选择 数据管理

../_images/013.png

重要

上传数据请确保账户余额大于 10 元。

在界面上可以查看到当前的存储使用量,点击按钮来上传文件或文件夹。

../_images/023.png

上传文件可以在底部查看上传进度。传输完成的文件或文件夹可以进行 删除 操作。

../_images/033.png

使用 FileZilla 上传下载

可以通过 FileZilla 等支持 SFTP 的工具进行上传与下载。

既可以在创建实例前连接我们的接入点向 个人空间 (OSS) 内上传或下载数据,也可以用于连接您已经创建的实例进行上传或下载实例内数据。个人空间 (OSS) 在用户中心的 数据管理 - 我的文件 中可以看到,对应挂载在实例内的 /data-user 目录。

FTP 工具 FileZilla 下载:

Windows 下载地址:FileZilla_3.47.2.1_win64_sponsored-setup.exe

macOS 下载地址:FileZilla_3.47.2.1_macosx-x86.app.tar.bz2

1.在 FileZilla 中新建一个站点。

../_images/042.png
  1. 点击左下方新站点,在右侧的协议选择 SFTP

如果未创建实例:

连接个人空间:主机 填写 cloud-data.videojj.com,端口 填写 2022。用户名为用户 ID,请在极链云官网主页的右上角账号名悬浮框内复制。密码为极链云账号的密码。此空间内的文件在用户中心 - 我的文件中可以浏览,对应挂载在实例内的 /data-user 目录。

如果已经创建实例:

连接实例:在 用户中心 中的 租用列表 获取登录指令。如 ssh -p 52650 root@net.videojj.com。将 @ 后的主机名复制到 主机,-p 后的端口号复制到 端口。用户名填写 root。在第一步控制台点击复制密码,填写到 密码。点击连接。

../_images/051.png ../_images/06.png
  1. 保存密码以便后续使用

../_images/07.png
  1. 信任该主机密钥

../_images/08.png
  1. 连接成功后在左侧上方选择本地要上传或下载的目录。在右侧上方选择实例内的目录。

若连接对象为个人空间,右方是个人空间的根目录,对应实例内的 /data-user 目录。

若连接对象为实例,选择 /data-input 目录,在右下方的窗口显示了该目录下的 test.txt 文件。右键文件点击下载,可将实例的文件下载到本地目录。同理,在左侧选择文件右键也可以进行上传操作。

../_images/09.png

使用命令行工具上传下载

vcloud-oss-cli 是以命令行方式管理极链云 OSS 数据的工具,提供方便、简洁、丰富的文件管理命令,支持 Windows、Linux、Mac 平台。

本工具支持下载提供的公共数据集,速度比从 /data-share 复制更快,推荐下载中大型数据集时用本工具下载。

对个人 OSS 空间,支持上传压缩文件,不支持上传非压缩格式与下载操作。上传后的文件存放在 OSS 目录,在实例内的 /data-user 目录中。

下载安装

实例(7月21日后创建)内置了 vcloud-oss-cli 命令可以直接使用,无法下载安装。

Linux / macOS 安装

# 安装 Linux 64 位版本
curl -L -o /usr/local/bin/vcloud-oss-cli "https://ai-cloud-plat.videojj.com/tools/vcloud-oss-cli/vcloud-oss-cli-linux-x86-64"
chmod u+x /usr/local/bin/vcloud-oss-cli

# 安装 macOS 64 位版本
curl -L -o /usr/local/bin/vcloud-oss-cli "https://ai-cloud-plat.videojj.com/tools/vcloud-oss-cli/vcloud-oss-cli-darwin-x86-64"
chmod u+x /usr/local/bin/vcloud-oss-cli

Windows 安装

将可执行文件下载到一个目录,重命名为 vcloud-oss-cli.exe。打开 CMD 或 PowerShell。cd 到下载的目录后执行 ./vcloud-oss-cli.exe。

常用命令

登陆注销 login/logout:上传前需要账号进行登陆。

# 使用极链云账号登陆
./vcloud-oss-cli login --user=sample@videojj.com --password=123456

# 如需删除认证则要注销账号
./vcloud-oss-cli logout

浏览文件 ls:列出目录下的文件和文件夹

# 浏览个人目录下所有的文件和文件夹
# -d 表示非递归显示,不显示子目录下的所有目录
./vcloud-oss-cli ls oss:// -d

# 列出全部公共数据集
# --share 表示操作目录为公共数据集目录
vcloud-oss-cli ls oss:// --share -d

# 查看某个公共数据集的全部文件
vcloud-oss-cli ls oss://DOTA/ --share -s

创建文件夹 mkdir:创建文件夹

# 在个人目录的空间创建一个名为 folder 的文件夹
./vcloud-oss-cli mkdir oss://folder/

上传文件 cp:上传文件或文件夹到个人目录,仅支持压缩包格式

# 上传单个文件到个人目录根下
./vcloud-oss-cli cp a.zip oss:// -u

# 上传 dir 目录下文件到个人空间的 dataset 目录
# -r 代表目录递归,-u 代表文件不存在或修改时间不同时才会上传
./vcloud-oss-cli cp dir/ oss://dataset/ -r -u

下载公共数据集 cp:从公共数据集中下载文件

# 下载公共数据集指定目录的所有文件到当前目录
vcloud-oss-cli cp oss://DOTA/val/images . --share -r

删除文件 rm:删除文件或文件夹

# 删除文件
./vcloud-oss-cli rm oss://folder/file
# 删除文件夹
./vcloud-oss-cli rm oss://folder/ -r