上传深度学习数据到云端
这个例子展示了如何将数据上传到Amazon S3桶中。
在云中执行深度学习训练之前,您需要将数据上传到云端。该示例展示了如何将CIFAR-10数据集下载到您的计算机,然后将数据上传到Amazon S3桶中,以便稍后在MATLAB中使用。CIFAR-10数据集是一个标记图像数据集,通常用于对标图像分类算法。在运行此示例之前,您需要访问一个Amazon Web Services (AWS)帐户。在将数据集上传到Amazon S3之后,您可以尝试其中的任何示例并行和云端的深度学习.
下载CIFAR-10到本地机器
指定要下载数据集的本地目录。下面的代码在当前目录中创建一个文件夹,其中包含数据集中的所有图像。
目录= pwd;[trainDirectory,testDirectory] = downloadCIFARToFolders(目录);
下载CIFAR-10数据集…完成。复制CIFAR-10到文件夹…完成。
上传本地数据集到Amazon S3 Bucket
要处理云中的数据,可以将数据上传到Amazon S3,然后使用数据存储从集群中的工作人员访问S3中的数据。以下步骤描述如何从本地机器将CIFAR-10数据集上传到Amazon S3 bucket。
1.为了有效地在Amazon S3之间传输文件,请从以下网站下载并安装AWS命令行接口工具https://aws.amazon.com/cli/
.
2.指定您的AWS访问密钥ID、秘密访问密钥和桶的区域作为系统环境变量。请与AWS帐户管理员联系获取密钥。
例如,在Linux、macOS或Unix上,指定这些变量:
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 web页面或如下命令为您的数据创建一个桶:
Aws s3 MB s3://mynewbucket
4.使用如下命令上传数据:
Aws s3 cp mylocaldatapath s3://mynewbucket——递归
例如:
aws s3 cp path/to/CIFAR10/in/the/local/machine s3://MyExampleCloudData/ CIFAR10/——递归
5.通过在MATLAB中完成以下步骤,将AWS证书复制到您的集群工作者:
a.在环境第一部分首页选项卡上,选择平行>创建和管理集群.
b.在集群配置文件窗格中,选择您的云集群配置文件。
c.在属性选项卡,选择EnvironmentVariables属性,根据需要滚动以查找属性。
d.单击窗口右下角的编辑.
e.单击右侧框中的EnvironmentVariables,然后输入这三个变量,每个变量单独一行:AWS_ACCESS_KEY_ID
,AWS_SECRET_ACCESS_KEY
,AWS_DEFAULT_REGION
.
f.单击窗口右下角的完成.
有关如何创建云集群的详细信息,请参见创建云集群(并行计算工具箱).
使用MATLAB中的数据集
将数据存储到Amazon S3之后,就可以使用数据存储访问来自集群工作者的数据。只需创建一个指向S3桶URL的数据存储。下面的示例代码展示了如何使用imageDatastore
访问S3桶。取代s3: / / MyExampleCloudData / cifar10 /火车'
使用S3桶的URL。
imds = imageDatastore(s3: / / MyExampleCloudData / cifar10 /火车',...“IncludeSubfolders”,真的,...“LabelSource”,“foldernames”);
CIFAR-10数据集现在存储在Amazon S3中,您可以在其中尝试任何示例并行和云端的深度学习展示了如何在不同的用例中使用CIFAR-10。