这个示例展示了如何将数据上传到Amazon S3桶。
在您可以在云中进行深度学习训练之前,您需要将数据上传到云中。这个示例展示了如何将CIFAR-10数据集下载到计算机上,然后将数据上传到Amazon S3桶中,以便以后在MATLAB中使用。CIFAR-10数据集是一组常用来对图像分类算法进行基准化的标记图像数据集。在运行此示例之前,您需要访问Amazon Web Services (AWS)帐户。将数据集上传到Amazon S3后,可以尝试其中的任何示例并行和云中的深度学习.
指定要下载数据集的本地目录。下面的代码在当前目录中创建一个文件夹,该文件夹包含数据集中的所有图像。
目录= pwd;[trainDirectory, testDirectory] = downloadCIFARToFolders(目录);
下载CIFAR-10数据集…完成。复制CIFAR-10到文件夹…完成。
要使用云中的数据,可以将数据上传到Amazon S3,然后使用数据存储从集群中的工作人员访问S3中的数据。下面的步骤描述了如何将CIFAR-10数据集从本地机器上传到Amazon S3桶。
1.为了从Amazon S3高效地传输文件,请下载并安装AWS命令行接口工具https://aws.amazon.com/cli/
.
2.指定您的AWS Access Key ID、Secret Access Key和桶的Region作为系统环境变量。请联系您的AWS帐户管理员获取密钥。
例如,在Linux、macOS或Unix上,指定以下变量:
export AWS_ACCESS_KEY_ID="YOUR_AWS_ACCESS_KEY_ID" export AWS_SECRET_ACCESS_KEY="YOUR_AWS_SECRET_ACCESS_KEY" export AWS_DEFAULT_REGION="us-east-1"
在Windows上,指定以下变量:
set AWS_ACCESS_KEY_ID="YOUR_AWS_ACCESS_KEY_ID" set AWS_SECRET_ACCESS_KEY="YOUR_AWS_SECRET_ACCESS_KEY" set AWS_DEFAULT_REGION="us-east-1"
要永久地指定这些环境变量,请在您的用户或系统环境中设置它们。
3.通过使用AWS S3网页或以下命令创建一个存储数据的桶:
Aws s3 MB s3://mynewbucket
4.使用如下命令上传数据:
Aws s3 cp mylocaldatapath s3://mynewbucket——recursive
例如:
aws s3 cp path/to/CIFAR10/in/the/local/machine s3://MyExampleCloudData/ CIFAR10/——recursive
5.通过在MATLAB中完成以下步骤,将您的AWS凭据复制到集群工作人员:
的。环境上节首页选项卡上,选择平行>创建和管理集群.
b。集群配置文件窗格中,选择您的云集群配置文件。
c。属性选项卡中,选择EnvironmentVariables属性,在必要时滚动以查找属性。
d.单击窗口右下方的编辑.
e.单击右侧框中的EnvironmentVariables,然后输入这三个变量,每个变量在自己的一行中:AWS_ACCESS_KEY_ID
,AWS_SECRET_ACCESS_KEY
,AWS_DEFAULT_REGION
.
f.在窗口右下方,单击完成.
有关如何创建云集群的信息,请参见创建云计算集群(并行计算工具箱).
在Amazon S3中存储数据之后,可以使用数据存储访问集群工作人员的数据。只需创建一个指向S3桶URL的数据存储。下面的示例代码展示了如何使用imageDatastore
访问S3桶。取代s3: / / MyExampleCloudData / cifar10 /火车'
S3桶的URL。
imd = imageDatastore (s3: / / MyExampleCloudData / cifar10 /火车',...“IncludeSubfolders”,真的,...“LabelSource”,“foldernames”);
有了存储在Amazon S3中的CIFAR-10数据集,您可以尝试其中的任何示例并行和云中的深度学习展示了如何在不同的用例中使用CIFAR-10。