В этом примере показано, как загрузить данные в ведро Amazon S3.
Прежде чем выполнять углубленное обучение в облаке, необходимо загрузить данные в облако. В примере показано, как загрузить набор данных CIFAR-10 на компьютер, а затем загрузить данные в ведро Amazon S3 для последующего использования в MATLAB. Набор данных CIFAR-10 - это набор данных изображения с метками, обычно используемый для алгоритмов классификации изображений. Перед запуском этого примера необходимо получить доступ к учетной записи веб-служб Amazon Web Services (AWS). После загрузки набора данных в Amazon S3 вы можете попробовать любой из примеров в Deep Learning in Parallel и в Cloud.
Укажите локальный каталог для загрузки набора данных. Следующий код создает папку в текущей папке, содержащую все изображения в наборе данных.
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 из 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. Создайте интервал для данных с помощью веб-страницы 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:
О. В разделе Среда на вкладке Главная выберите Параллельный > Создание кластеров и управление ими.
b. На панели «Профиль кластера» диспетчера профилей кластера выберите профиль облачного кластера.
c. На вкладке «Свойства» выберите свойство Environment Variables, прокручивая его по мере необходимости.
d. В правой нижней части окна нажмите «Редактировать».
e. Щелкните в поле справа от Environment Variables, а затем введите эти три переменные, каждая в своей строке: AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, и AWS_DEFAULT_REGION.
f. В правой нижней части окна нажмите кнопку Готово.
Сведения о создании облачного кластера см. в разделе Создание облачного кластера (панель инструментов параллельных вычислений).
После сохранения данных в Amazon S3 можно использовать хранилища данных для доступа к данным сотрудников кластера. Просто создайте хранилище данных, указывающее на 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 in Parallel и Cloud, показывающих, как использовать CIFAR-10 в различных сценариях использования.