Cookie の設定を選択する

当社は、当社のサイトおよびサービスを提供するために必要な必須 Cookie および類似のツールを使用しています。当社は、パフォーマンス Cookie を使用して匿名の統計情報を収集することで、お客様が当社のサイトをどのように利用しているかを把握し、改善に役立てています。必須 Cookie は無効化できませんが、[カスタマイズ] または [拒否] をクリックしてパフォーマンス Cookie を拒否することはできます。

お客様が同意した場合、AWS および承認された第三者は、Cookie を使用して便利なサイト機能を提供したり、お客様の選択を記憶したり、関連する広告を含む関連コンテンツを表示したりします。すべての必須ではない Cookie を受け入れるか拒否するには、[受け入れる] または [拒否] をクリックしてください。より詳細な選択を行うには、[カスタマイズ] をクリックしてください。

モデルのコンパイル

フォーカスモード
モデルのコンパイル - Amazon SageMaker AI

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

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

前提条件を満たしたら、Amazon SageMaker AI Neo を使用してモデルをコンパイルできます。、 コンソール AWS CLI、または Amazon Web Services SDK for Python (Boto3) を使用してモデルをコンパイルできます。「Neo を使用してモデルをコンパイルする」を参照してください。この例では、Boto3 を使ってモデルをコンパイルします。

モデルをコンパイルするには、SageMaker Neo では次の情報が必要です。

  1. トレーニング済みモデルを保存した Amazon S3 バケットの URI。

    前提条件に従っていた場合、バケットの名前は変数 bucket に保存されています。次のコードスニペットは、 AWS CLIを使ってすべてのバケットを一覧表示する方法を示しています。

    aws s3 ls

    以下に例を示します。

    $ aws s3 ls 2020-11-02 17:08:50 bucket
  2. コンパイル済みモデルを保存する Amazon S3 バケットの URI。

    以下のコードスニペットは、Amazon S3 バケット URI と出力ディレクトリの名前 (output) を連結します。

    s3_output_location = f's3://{bucket}/output'
  3. モデルのトレーニングに使った機械学習フレームワーク。

    モデルのトレーニングに使った機械学習フレームワークを定義します。

    framework = 'framework-name'

    例えば、TensorFlow を使ってトレーニングされたモデルをコンパイルする場合は、tflite または tensorflow を使うことができます。ストレージメモリの使用がより少ない TensorFlow の軽量バージョンを使う場合は、tflite を使います。

    framework = 'tflite'

    Neo がサポートしているフレームワークの完全なリストについては、「サポートされているフレームワーク、デバイス、システム、アーキテクチャ」を参照してください。

  4. モデルの入力の形状。

    Neo には、入力テンソルの名前と形状が必要です。名前と形状は、キーバリューペアで渡されます。value は入力テンソルの整数次元のリスト、key はモデル内の入力テンソルの正確な名前です。

    data_shape = '{"name": [tensor-shape]}'

    例:

    data_shape = '{"normalized_input_image_tensor":[1, 300, 300, 3]}'
    注記

    使ったフレームワークに応じて、モデルが正しくフォーマットされていることを確認します。「SageMaker Neo が想定する入力データの形状」を参照してください。このディクショナリのキーは、新しい入力テンソルの名前に変更する必要があります。

  5. コンパイルの目的であるターゲットデバイスの名前、またはハードウェアプラットフォームの一般的な詳細を入力します。

    target_device = 'target-device-name'

    例えば、Raspberry Pi 3 にデプロイする場合は、以下を使います。

    target_device = 'rasp3b'

    サポートされているすべてのエッジデバイスのリストは「サポートされているフレームワーク、デバイス、システム、アーキテクチャ」にあります。

上の手順が完了したので、コンパイルジョブを Neo に送信できます。

# Create a SageMaker client so you can submit a compilation job sagemaker_client = boto3.client('sagemaker', region_name=AWS_REGION) # Give your compilation job a name compilation_job_name = 'getting-started-demo' print(f'Compilation job for {compilation_job_name} started') response = sagemaker_client.create_compilation_job( CompilationJobName=compilation_job_name, RoleArn=role_arn, InputConfig={ 'S3Uri': s3_input_location, 'DataInputConfig': data_shape, 'Framework': framework.upper() }, OutputConfig={ 'S3OutputLocation': s3_output_location, 'TargetDevice': target_device }, StoppingCondition={ 'MaxRuntimeInSeconds': 900 } ) # Optional - Poll every 30 sec to check completion status import time while True: response = sagemaker_client.describe_compilation_job(CompilationJobName=compilation_job_name) if response['CompilationJobStatus'] == 'COMPLETED': break elif response['CompilationJobStatus'] == 'FAILED': raise RuntimeError('Compilation failed') print('Compiling ...') time.sleep(30) print('Done!')

デバッグのために追加情報が必要な場合は、次の print ステートメントを含めてください。

print(response)

コンパイルジョブが正常に完了すると、コンパイルされたモデルは、前に指定した出力 Amazon S3 バケット (s3_output_location) に保存されます。コンパイル済みモデルをローカルにダウンロードします。

object_path = f'output/{model}-{target_device}.tar.gz' neo_compiled_model = f'compiled-{model}.tar.gz' s3_client.download_file(bucket, object_path, neo_compiled_model)
プライバシーサイト規約Cookie の設定
© 2025, Amazon Web Services, Inc. or its affiliates.All rights reserved.