步骤 #4:数据集创建 (从 S3 下载)
在许多情况下,数据集存储在对象存储解决方案中,无论是云端还是本地部署。有几种不同的 API 常用于身份验证和访问对象存储,其中 S3 API 是最常用的。以下示例将展示如何在无需身份验证的情况下与云端 S3 存储桶进行交互。这些步骤将与“从互联网下载”部分类似,但我们需要下载并安装 CLI 工具作为作业命令的一部分,而不是使用镜像中已内置的命令行工具。
在已通过目标环境身份验证的同一系统上,提交以下批处理运行 - 它将下载 awscli
工具,解压缩并安装它,然后提交 s3 sync
命令到公开可用的数据集。
$ ngc batch run --name "aws-dl-cli" --preempt RUNONCE --instance dgxa100.80g.1.norm --commandline "curl 'https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip' -o 'awscliv2.zip'; unzip awscliv2.zip; ./aws/install -i /usr/local/aws-cli -b /usr/local/bin; aws s3 sync --no-sign-request --region=us-east-1 's3://safecast-opendata-public-us-east-1' '/results'" --result /results --image "nvidia/pytorch:22.04-py3"
--------------------------------------------------
Job Information
Id: 2870152
Name: aws-dl-cli
Number of Replicas: 1
Job Type: BATCH
Submitted By: Joseph Handzik
Job Container Information
Docker Image URL: nvidia/pytorch:22.04-py3
Job Commands
Command: curl 'https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip' -o 'awscliv2.zip'; unzip awscliv2.zip; ./aws/install -i /usr/local/aws-cli -b /usr/local/bin; aws s3 sync --no-sign-request --region=us-east-1 's3://safecast-opendata-public-us-east-1' '/results'
Dockerfile Image Entrypoint: False
Datasets, Workspaces and Results
Result Mount Point: /results
Job Resources
Instance Type: dgxa100.80g.1.norm
Instance Details: 1 GPU, 30 CPU, 244 GB System Memory
ACE: nv-launchpad-bc-sjc-ace
Team: nvbc-tme
Job Status
Created at: 2022-05-02 17:07:31 UTC
Status: CREATED
Preempt Class: RUNONCE
--------------------------------------------------
提交 ngc batch list
命令将列出此作业 - 一旦状态变为 FINISHED_SUCCESS
,我们就可以继续。
$ ngc batch list
+---------+----------+------------+----------+------------------+----------+----------------+
| Id | Replicas | Name | Team | Status | Duration | Status Details |
+---------+----------+------------+----------+------------------+----------+----------------+
| 2870152 | 1 | aws-dl-cli | nvbc-tme | FINISHED_SUCCESS | 0:00:21 | |
+---------+----------+------------+----------+------------------+----------+----------------+
使用上述输出中的 Id
值,执行 ngc dataset convert
命令。
$ ngc dataset convert --from-result 2870152 s3-dl-from-cli
Dataset with ID: '99885' created in ACE: 'nv-launchpad-bc-sjc-ace'.
使用 ngc dataset list --owned
命令验证新数据集的存在 - s3-dl-from-cli
应位于列表顶部。
$ ngc dataset list --owned
+-------------+------------+-------------+-------------+------------+--------+-----------+-----------+------------+-------+---------+
| Id | Integer Id | Name | Description | ACE | Shared | Size | Status | Created | Owned | Pre-pop |
| | | | | | | | | Date | | |
+-------------+------------+-------------+-------------+------------+--------+-----------+-----------+------------+-------+---------+
| r3KPjT13TgC | 99885 | s3-dl-from- | | nv- | No | 260.82 MB | COMPLETED | 2022-05-02 | Yes | No |
| Fw3a8Jvljow | | cli | | launchpad- | | | | 17:29:25 | | |
| | | | | bc-sjc-ace | | | | UTC | | |
| D9xMj6VNR-O | 99209 | linux- | | nv- | No | 1.03 GB | COMPLETED | 2022-04-19 | Yes | No |
| itmadRHwFig | | kernel- | | launchpad- | | | | 17:27:47 | | |
| | | from-web-ui | | bc-sjc-ace | | | | UTC | | |
| cHCMiESgRVe | 99164 | linux- | | nv- | No | 1.03 GB | COMPLETED | 2022-04-18 | Yes | No |
| duwq8vFfIRQ | | kernel- | | launchpad- | | | | 21:11:38 | | |
| | | from-cli | | bc-sjc-ace | | | | UTC | | |
+-------------+------------+-------------+-------------+------------+--------+-----------+-----------+------------+-------+---------+
与之前的数据创建轮次一样,我们可以使用 Web UI 完成相同的过程。从 Base Command 仪表板屏幕开始,单击 Jobs Overview 窗格中的 创建作业 按钮。

按如下方式填写 创建作业 表单。
从列表中选择您的 ACE。
在 INSTANCE 表中选择 dgxa100.80g.1.norm。
暂时忽略“数据集”和“工作区”输入表。
在“数据输出”字段中输入
/results
。选择
nvidia/pytorch
容器。选择标签值
22.04-py3
。对于命令,复制以下内容
curl 'https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip' -o 'awscliv2.zip'; unzip awscliv2.zip; ./aws/install -i /usr/local/aws-cli -b /usr/local/bin; aws s3 sync --no-sign-request --region=us-east-1 's3://safecast-opendata-public-us-east-1' '/results'
表单的其余部分可以保留默认值。
要验证是否选择了正确的选项,请对照以下屏幕截图中的值检查屏幕上的 ngc batch run
命令(--name
参数会有所不同,--ace
和 --org
参数也可能有所不同)。准备就绪后,单击页面右上角附近的 启动作业 按钮。

该作业不应花费太长时间运行 - 假设 ACE 相对空闲,大约 5 分钟。您可能需要刷新页面以验证作业状态是否为 Finished Success
。

单击新完成的作业,然后导航到 结果 选项卡,以验证已成功下载下载的数据。

要将结果目录转换为数据集,请单击页面右上角附近的垂直省略号,然后单击 转换为数据集 按钮。

将出现一个对话框 - 在 名称 字段中输入 s3-dl-from-web-ui
,然后单击 转换 按钮。

在短时间后,用于创建数据集的作业的 结果 目录将变为空,这表示数据集转换已执行。单击导航窗格中的 数据集 链接,就在先前使用的 作业 链接下方。

新数据集应显示在 数据集 页面上的表格顶部数据行中。
