Загрузите данные глубокого обучения в облако

В этом примере показано, как загрузить данные в блок S3 Amazon.

Прежде чем вы сможете выполнить обучение глубокому обучению в облаке, необходимо загрузить свои данные в облако. В примере показано, как загрузить набор CIFAR-10 данных на компьютер, а затем загрузить данные в блок S3 Amazon для дальнейшего использования в MATLAB. Набор CIFAR-10 данных является маркированным набором данных изображения, обычно используемым для сравнительного анализа алгоритмов классификации изображений. Перед запуском этого примера вам нужен доступ к учетной записи Amazon Web Services (AWS). После загрузки набора данных на Amazon S3 можно попробовать любой из примеров в глубокое обучение в параллели и в облаке (Deep Learning Toolbox).

Загрузить CIFAR-10 на локальную машину

Укажите локальную директорию для загрузки набора данных. Следующий код создает папку в текущей директории, содержащую все изображения в наборе данных.

directory = pwd; 
[trainDirectory,testDirectory] = downloadCIFARToFolders(directory);
Downloading CIFAR-10 data set...done.
Copying CIFAR-10 to folders...done.

Загрузить локальный набор данных в Amazon S3 Bucket

Чтобы работать с данными в облаке, можно загрузить на Amazon S3 а затем использовать хранилища данных для доступа к данным в S3 от работников вашего кластера. Следующие шаги описывают, как загрузить набор CIFAR-10 данных с локального компьютера на блок S3 Amazon.

1. Для эффективной передачи файлов на и из Amazon S3 загрузите и установите инструмент Командная Строка Interface из https://aws.amazon.com/cli/.

2. Укажите идентификатор ключа доступа 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_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. Создайте блок для данных с помощью веб-страницы S3 AWS или команды, например:

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:

Ответ. В разделе Environment на вкладке Home выберите Parallel > Create and Manage Clusters.

б. На панели Профиль кластера Диспетчера профилей кластеров выберите профиль кластера облака.

c. На вкладке Свойства выберите свойство EnvironmentVariables, прокрутка по мере необходимости, чтобы найти свойство.

d. В правом нижнем углу окна нажмите кнопку Изменить.

e. Щелкните в поле справа от EnvironmentVariables, а затем введите эти три переменные, каждая из которых находится в собственной линии: AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, и AWS_DEFAULT_REGION.

f. В нижней правой части окна нажмите Done.

Для получения информации о создании облака см. раздел «Создание облака».

Использование набора данных в MATLAB

После хранения данных в 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 в различных сценариях использования.

См. также

Похожие темы