• NVIDIA Jetson TX2 の設定


    https://docs.aws.amazon.com/ja_jp/greengrass/latest/developerguide/ml-dlc-console.html#jetson-lambda-dlc-config

    NVIDIA Jetson TX2 の設定

    NVIDIA Jetson TX2 でこのチュートリアルを実行するには、ソースイメージを用意して、Lambda 関数を設定します。GPU を推論に使用するには、Jetpack 3.3 でボードのイメージを作成するときに、デバイスに CUDA 9.0 と cuDNN 7.0 をインストールする必要があります。ローカルデバイスリソースも追加する必要があります。

    AWS IoT Greengrass ソフトウェアをインストールできるように Jetsonを設定する方法については、「他のデバイスの設定」を参照してください。

    1. Lambda 関数用に静的な PNG あるいは JPG 画像をダウンロードして、画像分類に使用します。この例は小さいイメージファイルで最適に動作します。

      inference.py ファイルがあるディレクトリ (あるいは、このディレクトリのサブディレクトリ) に画像ファイルを保存します。これは、ステップ 3: Lambda 推論関数を作成する でアップロードした Lambda 関数デプロイパッケージにあります。

      注記

      代わりに、Jetson ボードにカメラを設置して、ソースイメージをキャプチャすることもできます。ただし、最初に静的イメージから開始することを強くお勧めします。

    2. Lambda 関数の設定を編集します。「ステップ 4: Lambda 関数を Greengrass グループに追加する」の手順に従います。

      1. [メモリ制限] の値を増やします。指定されたモデルを GPU モードで使用するには、2048 MB を使用します。

      2. [タイムアウト] の値を 5 分に増やします。これにより、リクエストの早過ぎるタイムアウトがなくなります。セットアップ後、推論の実行には数分かかります。

      3. [Lambda のライフサイクル] で、[Make this function long-lived and keep it running indefinitely] を選択します。

      4. [/sys ディレクトリへの読み込みアクセス] の [Enable] を選択します。

    3. 必要なローカルデバイスリソースを追加します。

      1. グループの設定ページで、[Resources (リソース)] を選択します。

        
                [Resources (リソース)] が強調表示されたグループの設定ページ
      2. [ローカル] タブで、[ローカルリソースの追加] を選択します。

      3. 各リソースを定義します。

        • [リソース名] と [デバイスパス] には、次の表の値を使用します。テーブルの行ごとに 1 つのデバイスリソースを作成します。

        • [リソースタイプ] で、[デバイス] を選択します。

        • [グループ所有者のファイルアクセス許可] で、[リソースを所有する Linux グループの OS グループアクセス許可を自動的に追加] を選択します。

        • [Lambda function affiliations (Lambda 関数の所属)] で、Lambda 関数への [読み取りと書き込みアクセス] を許可します。

          名前

          デバイスパス

          nvhost-ctrl

          /dev/nvhost-ctrl

          nvhost-gpu

          /dev/nvhost-gpu

          nvhost-ctrl-gpu

          /dev/nvhost-ctrl-gpu

          nvhost-dbg-gpu

          /dev/nvhost-dbg-gpu

          nvhost-prof-gpu

          /dev/nvhost-prof-gpu

          nvmap

          /dev/nvmap

    AWS IoT Greengrass ML Inference のトラブルシューティング

    テストに成功しなかった場合は、以下のトラブルシューティング手順を実行できます。Raspberry Pi のターミナルで以下のコマンドを実行します。

    エラーログを確認する

    1. root ユーザーに切り替え、log ディレクトリに移動します。AWS IoT Greengrass ログへのアクセスには root アクセス許可が必要です。

       
      sudo su
      cd /greengrass/ggc/var/log
    2. runtime.log でエラーがないかどうかを確認します。

       
      cat system/runtime.log | grep 'ERROR'

      ユーザー定義の Lambda 関数ログでもエラーがないかどうかを確認できます。

       
      cat user/your-region/your-account-id/lambda-function-name.log | grep 'ERROR'

      詳細については、「ログでのトラブルシューティング」を参照してください。

    Lambda 関数が正常にデプロイされていることを確認する

    1. /lambda ディレクトリ内のデプロイされた Lambda の内容を一覧表示します。コマンドを実行する前に、プレースホルダーの値を置き換えます。

       
      cd /greengrass/ggc/deployment/lambda/arn:aws:lambda:region:account:function:function-name:function-version
      ls -la
    2. ディレクトリに、「ステップ 3: Lambda 推論関数を作成する」でアップロードした optimizedImageClassification.zip デプロイパッケージと同じ内容が含まれていることを確認します。

      .py ファイルと依存関係がディレクトリのルートにあることを確認します。

    推論モデルが正常にデプロイされていることを確認する

    1. Lambda ランタイムプロセスのプロセス識別番号 (PID) を見つけます。

       
      ps aux | grep lambda-function-name

      出力では、Lambda ランタイムプロセスの行の 2 列目に PID が表示されます。

    2. Lambda ランタイム名前空間を入力します。コマンドを実行する前に、pid プレースホルダーの値を置き換えてください。

      注記

      このディレクトリとその内容は、Lambda ランタイム名前空間にあるため、通常の名前空間には表示されません。

       
      sudo nsenter -t pid -m /bin/bash
    3. ML リソース用に指定したローカルディレクトリの内容を一覧表示します。

      注記

      ML リソースのパスが ml_model 以外の場合は、ここで置き換えてください。

       
      cd /ml_model
      ls -ls

      以下のファイルが表示されます。

       
          56 -rw-r--r-- 1 ggc_user ggc_group     56703 Oct 29 20:07 model.json
      196152 -rw-r--r-- 1 ggc_user ggc_group 200855043 Oct 29 20:08 model.params
         256 -rw-r--r-- 1 ggc_user ggc_group    261848 Oct 29 20:07 model.so
          32 -rw-r--r-- 1 ggc_user ggc_group     30564 Oct 29 20:08 synset.txt

    Lambda 関数で /dev/dri/renderD128 が見つからない

    このエラーは、OpenCL から必要な GPU デバイスに接続できない場合に発生します。Lambda 関数に必要なデバイスでデバイスリソースを作成する必要があります。

    次のステップ

    次は、最適化された他のモデルを試します。詳細については、Amazon SageMaker Neo のドキュメントを参照してください。

  • 相关阅读:
    poj 2886 Who Gets the Most Candies?(线段树)
    Android开发之SoundPool使用具体解释
    Win8.1应用开发之动态磁贴
    开发人员获取苹果技术支持
    Win32 Windows编程 十二
    华为上机练习题--压缩字符串
    PS 滤镜算法原理 ——马赛克
    JS版汉字与拼音互转终极方案,附简单的JS拼音输入法
    mybatis入门基础----动态SQL
    windows上如何搭建Git Server
  • 原文地址:https://www.cnblogs.com/cloudrivers/p/11898113.html
Copyright © 2020-2023  润新知