Main Content

딥러닝 데이터를 클라우드로 업로드하기

이 예제에서는 데이터를 Amazon S3 버킷으로 업로드하는 방법을 보여줍니다.

클라우드에서 딥러닝 훈련을 수행하려면 먼저 데이터를 클라우드로 업로드해야 합니다. 이 예제에서는 컴퓨터로 CIFAR-10 데이터 세트를 다운로드한 다음 나중에 MATLAB에서 사용할 수 있도록 이 데이터를 Amazon S3 버킷으로 업로드하는 방법을 보여줍니다. CIFAR-10 데이터 세트는 영상 분류 알고리즘의 벤치마킹에 널리 사용되는 레이블이 지정된 영상 데이터 세트입니다. 이 예제를 실행하려면 먼저 AWS(Amazon Web Services) 계정에 액세스해야 합니다. 데이터 세트를 Amazon S3으로 업로드한 뒤에 병렬 방식 및 클라우드에서의 딥러닝 항목의 예제를 시도해 볼 수 있습니다.

로컬 컴퓨터에 CIFAR-10 다운로드하기

데이터 세트를 다운로드할 로컬 디렉터리를 지정합니다. 다음 코드는 데이터 세트에 있는 모든 영상을 포함하는 폴더를 현재 디렉터리에 만듭니다.

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

로컬 데이터 세트를 Amazon S3 버킷으로 업로드하기

클라우드에서 데이터로 작업하기 위해, Amazon S3으로 업로드한 다음 데이터저장소를 사용하여 클러스터에 있는 워커에서 S3에 있는 데이터에 액세스할 수 있습니다. 다음 단계는 로컬 컴퓨터에서 Amazon S3 버킷으로 CIFAR-10 데이터 세트를 업로드하는 방법을 설명합니다.

1. Amazon S3과의 효율적인 파일 전송을 위해 https://aws.amazon.com/cli/에서 AWS 명령줄 인터페이스 툴을 다운로드하여 설치합니다.

2. AWS 액세스 키 ID, 보안 액세스 키 및 버킷 영역을 시스템 환경 변수로 지정합니다. 키를 얻으려면 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. MATLAB에서 다음 단계를 수행하여 AWS 자격 증명을 클러스터 워커로 복사합니다.

a. 탭의 환경 섹션에서 병렬 > 클러스터 생성 및 관리를 선택합니다.

b. 클러스터 프로파일 관리자의 클러스터 프로파일 창에서 클라우드 클러스터 프로파일을 선택합니다.

c. 속성 탭에서 EnvironmentVariables 속성을 선택합니다. 이 속성을 찾으려면 스크롤해야 할 수 있습니다.

d. 창 오른쪽 하단에서 편집을 클릭합니다.

e. EnvironmentVariables 오른쪽에 있는 상자를 클릭하고 3개의 변수 AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, AWS_DEFAULT_REGION을 한 줄에 하나씩 입력합니다.

f. 창 오른쪽 하단에서 완료를 클릭합니다.

클라우드 클러스터를 만드는 방법에 대한 자세한 내용은 클라우드 클러스터 생성 (Parallel Computing Toolbox) 항목을 참조하십시오.

MATLAB에서 데이터 세트 사용하기

데이터를 Amazon S3에 저장했으면 이제 데이터저장소를 사용하여 클러스터 워커에서 데이터에 액세스할 수 있습니다. S3 버킷의 URL을 가리키는 데이터저장소를 만들면 됩니다. 다음 샘플 코드는 imageDatastore를 사용하여 S3 버킷에 액세스하는 방법을 보여줍니다. 's3://MyExampleCloudData/cifar10/train'을 S3 버킷의 URL로 바꾸십시오.

imds = imageDatastore('s3://MyExampleCloudData/cifar10/train', ...
 'IncludeSubfolders',true, ...
 'LabelSource','foldernames');

CIFAR-10 데이터 세트를 Amazon S3에 저장했으니 이제 다양한 사용 사례별로 CIFAR-10을 사용하는 방법을 보여주는 병렬 방식 및 클라우드에서의 딥러닝 항목의 예제를 시도해 볼 수 있습니다.

참고 항목

관련 항목