mediapipe:モデル学習

差分

このページの2つのバージョン間の差分を表示します。

この比較画面へのリンク

両方とも前のリビジョン 前のリビジョン
次のリビジョン
前のリビジョン
mediapipe:モデル学習 [2023/09/19 14:52] babamediapipe:モデル学習 [2023/10/02 15:14] (現在) – [tensorlow on gpu] baba
行 32: 行 32:
  
   conda create -n mediapipe python=3.9   conda create -n mediapipe python=3.9
-  conda activate+  conda activate mediapipe
   conda install -c conda-forge cudatoolkit=11.8.0   conda install -c conda-forge cudatoolkit=11.8.0
   python3 -m pip install nvidia-cudnn-cu11==8.6.0.163 tensorflow==2.12.*   python3 -m pip install nvidia-cudnn-cu11==8.6.0.163 tensorflow==2.12.*
行 48: 行 48:
   * https://developers.google.com/mediapipe/solutions/vision/object_detector/customize   * https://developers.google.com/mediapipe/solutions/vision/object_detector/customize
  
 +===== Multiple GPU =====
 GPUを利用刷る場合、上記で設定がうまく行っていればそのままGPUで学習が始まる。一方で複数GPUを持っている場合は、別途オプションを設定する必要がある。 GPUを利用刷る場合、上記で設定がうまく行っていればそのままGPUで学習が始まる。一方で複数GPUを持っている場合は、別途オプションを設定する必要がある。
 https://developers.google.com/mediapipe/solutions/customization/object_detector#hyperparameters このページでパラメーターの一覧が確認できる。この中のHParamsで学習時の設定ができるが、実はこのページではどのように複数GPUを利用刷るかがわからない。そこで、より細かいAPIページを参照する必要がある。 具体的には https://developers.google.com/mediapipe/solutions/customization/object_detector#hyperparameters このページでパラメーターの一覧が確認できる。この中のHParamsで学習時の設定ができるが、実はこのページではどのように複数GPUを利用刷るかがわからない。そこで、より細かいAPIページを参照する必要がある。 具体的には
行 54: 行 55:
 等と設定することで、複数gpuを学習に利用できる。ただし、実際にこのオプションを設定して実行すると distribution_strageryが'off'ではだめだよ、というエラーになる。では distribution_strategyをどうすればよいのかが、実は述べられていない。結果としては、github上のソースコードから、サンプルとして、num_gpusを1以上に設定しているサンプルファイルでは、 distribution_strategyに 'mirrored'を設定しているものがあり、これに倣って 'mirrored' にしたら学習が進んだ。まとめると、 等と設定することで、複数gpuを学習に利用できる。ただし、実際にこのオプションを設定して実行すると distribution_strageryが'off'ではだめだよ、というエラーになる。では distribution_strategyをどうすればよいのかが、実は述べられていない。結果としては、github上のソースコードから、サンプルとして、num_gpusを1以上に設定しているサンプルファイルでは、 distribution_strategyに 'mirrored'を設定しているものがあり、これに倣って 'mirrored' にしたら学習が進んだ。まとめると、
  * num_gpus:4,  * num_gpus:4,
- * distribution_strategy:'mirrored' + * distribution_strategy='mirrored' 
-でOK.+でOK.例えばこんな感じ
  
 +<code>
 +hparams = object_detector.HParams(
 +  export_dir='exported_model',
 +  epochs=120,
 +  num_gpus=4,
 +  distribution_strategy='mirrored'
 +  )
 +</code>
 ====== 実行 ====== ====== 実行 ======
 うまくいくとモデルが完成するので,出来上がったモデルを試すページは以下 うまくいくとモデルが完成するので,出来上がったモデルを試すページは以下
  • /home/users/2/lolipop.jp-4404d470cd64c603/web/ws/data/attic/mediapipe/モデル学習.1695102739.txt.gz
  • 最終更新: 2023/09/19 14:52
  • by baba