AWS DeepRacer コンソールでモデルをインポートおよびエクスポートする - AWS DeepRacer

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

AWS DeepRacer コンソールでモデルをインポートおよびエクスポートする

AWS DeepRacer モデルをインポートまたはエクスポートしなければならないシナリオがあります。雇用主が主催するイベントに参加したレーサーは、アクセス不可になるのを防ぐためにモデルをエクスポートできます。また、レース管理者は、参加者がイベント中にインポートして使用できるよう、事前にトレーニングされたモデルを提供できます。[お客様のモデル] ページを使用して、コンソールで AWS DeepRacer モデルをインポートおよびエクスポートします。

AWS DeepRacer モデルを Amazon S3 にコピーする

AWS DeepRacer モデルを Amazon S3 にコピーするには
  1. AWS DeepRacer コンソール にログインします。

  2. ナビゲーションペインの [強化学習][お客様のモデル] を選択します。

  3. モデル名の横にあるチェックボックスをチェックして、インポートするモデルを選択します。コンソールから Amazon S3 には 1 つのモデルしかコピーできません。

  4. [アクション] ボタンのドロップダウンを選択し、[S3 へコピー] を選択します。

    新しい [Amazon S3 へコピー] ページが開きます。

  5. [Amazon S3 へコピー] ページで、Amazon S3 バケットドロップダウンセレクターを使用し、モデルのエクスポート先の Amazon S3 バケットを選択してください。AWS DeepRacer S3 バケットの名前には deepacer という言葉が含まれている必要があります。

    1. 有効な Amazon S3 バケットを持っていない場合は、[新しいバケットを作成] を選択してバケットを作成します。ドロップダウンセレクターにより、バケット名に次の形式が入力されます aws-deepracer-assets-XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX

  6. S3 オブジェクトプレフィックスフィールドの Amazon S3 オブジェクトにオプションのフォルダプレフィックスを追加してください。

  7. S3 バケットをセットアップしたら、含めたいアセットを選択してください。続行するには、少なくとも 1 つのアセットタイプを選択しなければなりません。

    • モデル: モデルフォルダーには、モデルのインポートのために必要なすべてのファイルが含まれています。

    • ログ: モデルのトレーニングログと評価ログをコピーします。このオプションには logs/metrics/、そして sim-trace/ フォルダーが含まれています。

    • ビデオ: このオプションはビデオフォルダを Amazon S3 バケットにコピーします。ビデオフォルダには、evaluation/ および training/ のフォルダが含まれます。これらのフォルダーには、トップビュー、45 度アングルビュー、そしてトラック上の車の位置を示す、コンソールのオーバーレによる 45 度アングルビューのビデオが含まれています。

  8. [コピー] をクリックした後、Amazon S3 データストレージの費用負担が発生することを知らせるポップアップが表示されます。条件に同意する場合、ポップアップの [コピー] ボタンを押してください。

  9. コピー処理が開始されると、コンソールの [お客様のモデル] ページに戻ります。現在のステータスが、ページ上部のバナーに表示されます。エクスポート処理が完了すると、バナーにエクスポートが成功したことが表示されます。

モデルのインポートに必要なファイル

コンソール外でトレーニングされたモデルのモデルフォルダをアップロードするには、Amazon S3 ドキュメントの「オブジェクトのアップロード」ページの手順に従います。次の表には、モデルのインポートに必要なファイルのリストが含まれています。必要なファイルの一つでも欠けていると、モデルのインポートは失敗します。

AWS DeepRacer コンソールでトレーニングされたモデルは、フォルダ名形式 DAY/MONTH/YEAR/TIME GMT になっています。このサンプルモデルは 2023 年 11 月 30 日にエクスポートされ、フォルダ名は Thu, 30 Nov 2023 19:01:24 GMT です。このサンプルでは、フォルダーはルートと呼ばれています。

モデルのインポートに必要なファイル
ファイル名 フォルダパス 説明
.coach_checkpoint ルート/モデル/ コーチチェックポイントファイルには、インポートするために使用されたモデルチェックポイントのキーが含まれています。
ckpt ファイル ルート/モデル/ チェックポイントファイルは、トレーニング中のさまざまな段階で取得されたモデルのウェイトのスナップショットです。それらには、ckpt.indexckpt.data、そして ckpt.meta のファイルが含まれています。
model_metadata.json ルート/ モデルメタデータファイルには、アクションスペース定義、センサー設定、トレーニングアルゴリズムの選択などの設定が含まれています。
reward_function.py ルート/ モデルのトレーニングに使用される報酬関数を含む Python ファイル。

メトリクスファイルはモデルのインポートには必要ではありません。これらのファイルが含まれていない場合、モデルのトレーニングメトリクスと報酬グラフはコンソールに表示されません。

モデルインポートのためのオプションファイル
ファイル名 フォルダパス 説明
training_params.yaml ルート/ training_params ファイルには、トラックや車両の情報、レーサーとモデルの名前、トレーニングアーティファクトのフォルダーパスなどのトレーニングジョブデータが含まれています。
hyperparameters.json ルート/IP/ バッチサイズ、ロスタイプ、学習率、エポック数など、モデルのハイパーパラメータ情報が含まれています。
training-*.json ルート/メトリクス/トレーニング/ AWS DeepRacer コンソールでモデルのトレーニングメトリクスの視覚化のために使用されます。

AWS DeepRacer モデルをコンソールにインポートする

このセクションでは、AWS DeepRacer モデルをコンソールにインポートする手順について学んでいただきます。モデルをインポートする前に、モデルフォルダの Amazon S3 URL をコピーしなければなりません。

AWS DeepRacer Amazon S3 バケット URL をコピーします。
  1. Amazon S3 コンソールにログインし、[バケット] ページに移動します。

  2. バケット名のリンクを押して、最初の AWS DeepRacer モデル用に作成した Amazon S3 バケットを選択してください。AWS DeepRacer コンソールで作成される S3 バケットの形式は aws-deepracer-assets-XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX です。

  3. AWS DeepRacer バケットの [オブジェクト] タブから:

    1. [名前] フィールドにあるモデルオブジェクトの名前のリンクを押して、インポートするモデルを選択します。

      サブフォルダのリストが表示されます。

    2. フォルダー名の横にあるチェックボックスをチェックし、モデルフォルダーのルートを選択します。AWS DeepRacer コンソールでトレーニングされたモデルは、フォルダ名形式 DAY/MONTH/YEAR/TIME GMT になっています。

  4. モデルフォルダのルートに移動したら、[S3 URL をコピー] ボタンを選択してください。[S3 URL のコピー]、[URL のコピー]、[開く]、[削除] などそれぞれのボタンは、モデル名の横にあるチェックボックスにチェックを入れるまでグレー表示されます。

    注記

    S3 へのコピープロセス中に my_model/version_2 などのプレフィックスを追加した場合、モデルフォルダーのパスは deep_racer_bucket/model_name/my_model/version_2/root/ になります。

AWS DeepRacer モデルをコンソールにインポートする
  1. AWS DeepRacer コンソールで、[お客様のモデル] ページに移動します。

  2. モデルコンテナの [モデルのインポート] ボタンを選択してください。

    [モデルのインポート] ページが表示されます。

  3. [インポート] セクションで:

    1. インポートするモデルフォルダの Amazon S3 URL を入力します。Amazon S3 URL の形式は s3://deep_racer_bucket/model_name/prefix/root です。

  4. 詳細セクションでは:

    1. モデル名を入力します。

    2. オプションロールの説明を任意で追加します。

    3. マルチユーザーモードの管理者アカウントを使用している場合、モデルをインポートするユーザーをドロップダウンセレクターから選択します。

  5. 画面の下部にある [インポート] ボタンを選択します。

  6. インポートプロセスが開始されると、コンソールの [お客様のモデル] ページに戻ります。ページ上部に現在のステータスを示すバナーが表示され、モデルはモデルリストに [インポート中] のステータスで表示されます。インポート処理が完了すると、バナーにインポートの成功が表示され、モデルのステータスが [インポート中] から [準備完了] へと変わります。

トラブルシューティング

何度か試したにもかかわらず、モデルをコピーできませんでした。モデルがまだ S3 バケット内にある場合は、[モデルエラー] テーブルからモデルを選択し、[更新] を選択し、[インポート] を選択して、モデルのインポートを再試行します。または、モデルのローカルコピーがある場合、Amazon S3 ドキュメントの「オブジェクトのアップロード」ページの手順に従って手動でインポートすることも可能です。

このモデルが保存された S3 バケットが削除されていることにより、モデルをコピーできませんでした。モデルのコピーがある場合は、S3 バケット内にそれを deepracer と一緒に配置し、AWS DeepRacer モデルをコンソールにインポートする セクションの手順に従ってインポートをやり直してください。

このモデルが格納されている Amazon S3 バケットへのアクセス許可が変更されたため、モデルをコピーできませんでした。これは、AWS DeepRacer S3 または AWS DeepRacer サービスロールポリシーに対するアクセス権限を直接編集したなど、理由の 2 つの原因で発生します。AWS DeepRacer S3 バケットのアクセス権限を直接編集した場合は、「Amazon S3 コンソールを使用してバケットポリシーを追加する」ページの手順に従い、以下のポリシーを使用してバケットのアクセス権限を復元できます。

JSON
{ "Version":"2012-10-17", "Statement": [ { "Sid": "Stmt1586917903457", "Effect": "Allow", "Principal": { "Service": "deepracer.amazonaws.com" }, "Action": [ "s3:GetObjectAcl", "s3:GetObject", "s3:PutObject", "s3:PutObjectAcl" ], "Resource": [ "arn:aws:s3:::your-bucket-name", "arn:aws:s3:::your-bucket-name/*" ] } ] }

バケットのアクセス権限を復元した後でモデルをインポートするには、[モデルエラー] テーブルからモデルを選択し、[更新] を選択します。[モデルのインポート] ページが表示されたら、[インポート] を選択します。

モデルが Amazon S3 バケットから削除されているため、コピーできません。ファイルがまだ残っている場合は、それを AWS DeepRacer バケットに復元してから、[モデルエラー] テーブルからモデルを選択し、[更新] を選択します。[モデルのインポート] ページが表示されたら、[インポート] を選択します。または、モデルのローカルコピーがある場合、Amazon S3 ドキュメントの「オブジェクトのアップロード」ページの手順に従って手動でインポートすることが可能です。

Coach チェックポイントのメタデータが Amazon S3 バケットから削除されているため、モデルをコピーできません。ファイルがまだ残っている場合は、それを AWS DeepRacer バケットに復元してから、[モデルエラー] テーブルからモデルを選択し、[更新] を選択します。[モデルのインポート] ページが表示されたら、[インポート] を選択します。または、モデルのローカルコピーがある場合、Amazon S3 ドキュメントの「オブジェクトのアップロード」ページの手順に従って手動でインポートすることが可能です。

Coach チェックポイントのメタデータが Amazon S3 バケットから削除されているため、モデルをコピーできません。ファイルがまだ残っている場合は、それを AWS DeepRacer バケットに復元してから、[モデルエラー] テーブルからモデルを選択し、[更新] を選択します。[モデルのインポート] ページが表示されたら、[インポート] を選択します。または、モデルのローカルコピーがある場合、Amazon S3 ドキュメントの「オブジェクトのアップロード」ページの手順に従って手動でインポートすることが可能です。

モデルファイルがサービスで作成できる 1 GB のファイルサイズ制限を超えているため、ファイルは編集されました。このモデルはインポートされません。このメッセージを削除するには、モデルを[モデルエラー] から選択し、[削除] を選択します。

モデルファイルがサービスで作成できる 1 GB のファイルサイズ制限を超えているため、ファイルは編集されました。このモデルはインポートされません。このメッセージを削除するには、モデルを[モデルエラー] から選択し、[削除] を選択します。

YAML ファイルは、サービスが作成できる 10 MB のファイルサイズ制限を超えているため、ファイルが編集されました。このモデルはインポートされません。このメッセージを削除するには、モデルを[モデルエラー] から選択し、[削除] を選択します。

モデルが編集されているため、モデルを検証できません。ファイルがまだ残っている場合は、それを AWS DeepRacer バケットに復元してから、[モデルエラー] テーブルからモデルを選択し、[更新] を選択します。[モデルのインポート] ページが表示されたら、[インポート] を選択します。

トレーニング時に AWS DeepRacer で利用可能だったアクセス権限が削除されたため、モデルをコピーできません。AWS DeepRacer に必要なアクセス権限を再作成することを許可するには、モデルを[モデルエラー] テーブルから選択し、[更新] を選択します。[モデルのインポート] ページが表示されたら、[インポート] を選択します。アクセス権限を再作成すると、AWS DeepRacer はモデルをコピーします。