クラウドへの深層学習データのアップロード
この例では、データを Amazon S3 バケットにアップロードする方法を説明します。
深層学習における学習をクラウドで実行する前に、データをクラウドにアップロードする必要があります。この例では、CIFAR-10 データセットをコンピューターにダウンロードし、後で MATLAB で使用するために、そのデータを Amazon S3 バケットにアップロードする方法を示します。CIFAR-10 データセットは、ラベル付けされたイメージ データセットで、イメージ分類アルゴリズムのベンチマーク用によく使用されます。この例を実行するには、Amazon Web Services (AWS) アカウントへのアクセスが必要です。このデータセットを 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 のデータにアクセスできます。以下の手順では、CIFAR-10 データセットをローカル マシンから Amazon S3 バケットにアップロードする方法を説明します。
1.Amazon S3 とのファイル転送を効率的に行うために、https://aws.amazon.com/cli/
から AWS Command Line Interface ツールをダウンロードしてインストールします。
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 の Web ページまたは次のようなコマンドを使用して、データ用のバケットを作成します。
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 の右側のボックスをクリックしてから、AWS_ACCESS_KEY_ID
、AWS_SECRET_ACCESS_KEY
、AWS_DEFAULT_REGION
の 3 つの変数を 1 行に 1 つずつ入力します。
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 を使用する方法を示している、並列およびクラウドでの深層学習のすべての例を試すことができます。