Этот пример показывает, как загрузить данные на блок Amazon S3.
Прежде чем можно будет выполнить обучение глубокому обучению в облаке, необходимо загрузить данные на облако. Пример показывает, как загрузить набор данных CIFAR-10 на ваш компьютер, и затем загрузить данные на блок Amazon S3 для дальнейшего использования в MATLAB. Набор данных CIFAR-10 является маркированным набором данных изображения, обычно используемым для сравнительного тестирования алгоритмов классификации изображений. Прежде, чем запустить этот пример, вам нужен доступ к учетной записи Amazon Web Services (AWS). После того, как вы загрузите набор данных на Amazon S3, можно попробовать любой из примеров в Глубоком обучении параллельно и в Облаке (Deep Learning Toolbox).
Задайте локальную директорию, в которой можно загрузить набор данных. Следующий код создает папку в вашем текущем каталоге, содержащем все изображения в наборе данных.
directory = pwd; [trainDirectory,testDirectory] = downloadCIFARToFolders(directory);
Downloading CIFAR-10 data set...done. Copying CIFAR-10 to folders...done.
Чтобы работать с данными в облаке, можно загрузить на Amazon S3 и затем использовать хранилища данных, чтобы получить доступ к данным в S3 от рабочих в кластере. Следующие шаги описывают, как загрузить набор данных CIFAR-10 от вашей локальной машины до блока Amazon S3.
1. Для эффективных передач файлов к и от Amazon S3, загрузите и установите инструмент AWS Command Line Interface от https://aws.amazon.com/cli/
.
2. Задайте свой ID Ключа доступа AWS, Секретный Ключ доступа и область блока как системные переменные. Свяжитесь ваши 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_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_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. Скопируйте свои учетные данные AWS в ваших кластерных рабочих путем завершения этих шагов в MATLAB:
a. В разделе Environment на вкладке Home выберите Parallel> Create и Manage Clusters.
b. В Кластерной панели Профиля Кластерного менеджера по Профилю выберите свой профиль кластера облака.
c. Во вкладке Properties выберите свойство EnvironmentVariables, прокрутив по мере необходимости, чтобы найти свойство.
d. В правом нижнем углу окна нажмите Edit.
e. Щелкните в поле справа от EnvironmentVariables, и затем введите эти три переменные, каждого на его собственной строке: AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY и AWS_REGION.
f. В правом нижнем углу окна нажмите Done.
Для получения информации о том, как создать кластер облака, смотрите, Создают Кластер Облака.
После того, как вы будете хранить свои данные в Amazon S3, можно использовать хранилища данных, чтобы получить доступ к данным от кластерных рабочих. Просто создайте datastore, указывающий на URL блока S3. Следующий пример кода показывает, как использовать imageDatastore
, чтобы получить доступ к блоку S3. Замените 's3://MyExampleCloudData/cifar10/train'
на URL вашего блока S3.
imds = imageDatastore('s3://MyExampleCloudData/cifar10/train', ... 'IncludeSubfolders',true, ... 'LabelSource','foldernames');
С набором данных CIFAR-10, теперь сохраненным в Amazon S3, можно попробовать любой из примеров в Глубоком обучении параллельно и в Облаке (Deep Learning Toolbox), которые показывают, как использовать CIFAR-10 в различных вариантах использования.