主要内容

容器使用Amazon S3 bucket MATLAB深度学习

这个例子展示了如何训练你的深度学习与训练数据模型存储在Amazon S3™桶并保存训练模型到云上。

可以扩大现有的深度学习云工作流通过移动数据和训练,在那里你可以租高性能gpu和存储大型数据文件。一种方法是使用S3 bucket。你可以直接读写从MATLAB®S3 bucket。您可以使用此工作流访问S3 bucket中的数据从一个MATLAB深度学习容器,并得到变量的容器。例如:

  • 如果你有在本地数据,您可以使用本页工作流数据上传到S3 bucket和访问它从你的MATLAB在云中容器深度学习培训,在那里你可以租高性能gpu。

  • 在容器中的云培训后,您可以将变量保存到S3 bucket和访问它们从任何地方在你停止运行的容器。

创建Amazon S3 Bucket

上传模型从您的本地安装的MATLAB MATLAB会话运行在Amazon EC2上的MATLAB容器深度学习GPU启用实例,您可以使用一个S3 bucket。您可以使用保存函数来保存一个模型(和其他工作空间变量)垫文件从您的本地安装的MATLAB S3 bucket。然后,您可以使用负载函数模型加载到容器深度学习。类似地,您可以从深度学习训练模型容器保存到一个S3 bucket和加载到您的本地MATLAB会话。

开始使用S3 bucket和MATLAB:

  1. 下载并安装AWS®命令行界面工具在本地机器上。

  2. 在本地机器上创建AWS访问键和键设置为环境变量。

  3. 为您的数据创建一个S3 bucket。

详细的一步一步的指示,包括如何创建AWS访问键,导出密钥,并设置S3 bucket,明白了将数据迁移到Amazon S3 bucket使用MATLAB数据存储和访问数据

保存和加载MATLAB与Amazon S3工作空间变量

MATLAB的从您的本地安装,您可以保存一个未经训练的神经网络,untrainedNetwork例如,直接从您的工作区S3 bucket,mynewbucket。必须设置您的AWS访问密钥ID和秘密访问密钥(以及你的会话令牌,如果你正在使用一个AWS临时令牌)在MATLAB安装本地环境变量。

setenv (“AWS_ACCESS_KEY_ID”,“YOUR_AWS_ACCESS_KEY_ID”);setenv (“AWS_SECRET_ACCESS_KEY”,“YOUR_AWS_SECRET_ACCESS_KEY”);setenv (“AWS_SESSION_TOKEN”,“YOUR_AWS_SESSION_TOKEN”);%可选setenv (“AWS_DEFAULT_REGION”,“YOUR_AWS_DEFAULT_REGION”);%可选保存(“s3: / / mynewbucket / untrainedNetwork.mat”,“untrainedNetwork”,“-v7.3”);

这从S3 bucket未经训练的模型加载到MATLAB会话中运行的深度学习在AWS容器。再次,你必须设置AWS访问密钥ID,秘密访问密钥(如果您正在使用一个AWS和会话令牌临时令牌)在容器MATLAB会话环境变量。

setenv (“AWS_ACCESS_KEY_ID”,“YOUR_AWS_ACCESS_KEY_ID”);setenv (“AWS_SECRET_ACCESS_KEY”,“YOUR_AWS_SECRET_ACCESS_KEY”);setenv (“AWS_SESSION_TOKEN”,“YOUR_AWS_SESSION_TOKEN”);%可选setenv (“AWS_DEFAULT_REGION”,“YOUR_AWS_DEFAULT_REGION”);%可选负载(“s3: / / mynewbucket / untrainedNetwork.mat”)

注意保存和加载垫文件和从远程文件系统使用保存负载从MATLAB版本R2021金宝appa后来功能支持,提供了MAT文件版本7.3。确保您正在运行MATLAB R2021a或更高版本在你的本地机器和深度学习的容器。

保存您的训练、测试和验证数据从您的本地MATLAB工作区S3存储桶,装进到MATLAB深度学习容器遵循和上面相同的步骤。你可以训练你的模型,保存培训网络到S3 Bucket和负载训练网络MATLAB安装回当地。

与Amazon S3保存和训练数据的访问

你可以训练你的网络使用数据驻留在你的本地安装的S3 bucket MATLAB或MATLAB会话中运行的容器深度学习。这个方法是有用的,如果你已经有数据在S3中或如果你有非常大的数据集,你不能下载到你的本地机器或容器。

例如如何上传CIFAR-10数据集从您的本地机器S3 bucket,明白了在AWS与深度学习数据工作

在Amazon S3存储你的数据之后,您可以使用MATLAB会话数据存储访问数据从您的本地机器上或从深度学习容器(确保适当的AWS访问键导出环境变量)。简单地创建一个数据存储指向S3 bucket的URL。下面的示例代码显示了如何使用一个imageDatastore访问一个S3 bucket。取代s3: / / MyExampleCloudData / cifar10 /火车'S3 bucket的URL。

setenv (“AWS_ACCESS_KEY_ID”,“YOUR_AWS_ACCESS_KEY_ID”);setenv (“AWS_SECRET_ACCESS_KEY”,“YOUR_AWS_SECRET_ACCESS_KEY”);setenv (“AWS_SESSION_TOKEN”,“YOUR_AWS_SESSION_TOKEN”);%可选setenv (“AWS_DEFAULT_REGION”,“YOUR_AWS_DEFAULT_REGION”);%可选imd = imageDatastore (s3: / / MyExampleCloudData / cifar10 /火车',“IncludeSubfolders”,真的,“LabelSource”,“foldernames”);

您现在可以使用CIFAR-10存储在Amazon S3数据集。例如使用CIFAR-10数据集,明白了火车残余网络图像分类

注意训练总是更快如果你有本地托管训练数据。远程数据使用管理费用尤其是有很多小文件的数据位数分类的例子。例如,训练时间取决于网络速度和距离的S3 bucket机器运行MATLAB容器。更大的数据文件进行有效的利用带宽EC2(每个文件大于200 kb)。如果你有足够的内存,在本地复制数据的最佳训练速度。

相关的话题