mediapipe:モデル学習

差分

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

この比較画面へのリンク

両方とも前のリビジョン 前のリビジョン
次のリビジョン
前のリビジョン
mediapipe:モデル学習 [2023/05/15 15:01] – [tensorlow on gpu] babamediapipe:モデル学習 [2023/10/02 15:14] (現在) – [tensorlow on gpu] baba
行 1: 行 1:
 ====== MediaPipeに利用するモデルの学習について ====== ====== MediaPipeに利用するモデルの学習について ======
 2023年5月10のカンファレンス発表でMediaPipeが大きく進化しました.それに伴いカスタムモデルの作成等の情報がpreviewとして公開されています.一部ノウハウやバージョン情報が少なかったりで知見が必要だったのでこのページに忘備録代わりにまとめます. 2023年5月10のカンファレンス発表でMediaPipeが大きく進化しました.それに伴いカスタムモデルの作成等の情報がpreviewとして公開されています.一部ノウハウやバージョン情報が少なかったりで知見が必要だったのでこのページに忘備録代わりにまとめます.
 +
 +<WRAP center round tip 60%>
 +mediapipeオフィシャルのチュートリアルでは,colabを利用することが前提になっています.colabを利用する限りは以下の情報は不要です.以下はローカル環境での学習です.デカ目のデータセットで学習が12時間以上必要な場合に限った話です.
 +</WRAP>
 +
  
 ====== 最初の環境構築 ====== ====== 最初の環境構築 ======
行 17: 行 22:
     - conda activate     - conda activate
     - pip install --upgrade pip     - pip install --upgrade pip
-    - pip install tensoflow 
-    - pip install mediapipe 
     - pip install mediapipe-model-maker     - pip install mediapipe-model-maker
  
行 26: 行 29:
   - anaconda のインストール   - anaconda のインストール
   - condaで環境構築   - condaで環境構築
-``` 
-conda create -n mediapipe python=3.9 
-conda activate 
-conda install -c conda-forge cudatoolkit=11.8.0 
-python3 -m pip install nvidia-cudnn-cu11==8.6.0.163 tensorflow==2.12.* 
-mkdir -p $CONDA_PREFIX/etc/conda/activate.d 
-echo 'CUDNN_PATH=$(dirname $(python -c "import nvidia.cudnn;print(nvidia.cudnn.__file__)"))' >> $CONDA_PREFIX/etc/conda/activate.d/env_vars.sh 
-echo 'export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$CONDA_PREFIX/lib/:$CUDNN_PATH/lib' >> $CONDA_PREFIX/etc/conda/activate.d/env_vars.sh 
-source $CONDA_PREFIX/etc/conda/activate.d/env_vars.sh 
-python3 -c "import tensorflow as tf; print(tf.config.list_physical_devices('GPU'))" 
-pip install --upgrade pip 
-pip install tensoflow 
-pip install mediapipe 
-pip install mediapipe-model-maker ``` 
  
  
-====== Object Detection ======+  conda create -n mediapipe python=3.9 
 +  conda activate mediapipe 
 +  conda install -c conda-forge cudatoolkit=11.8.0 
 +  python3 -m pip install nvidia-cudnn-cu11==8.6.0.163 tensorflow==2.12.* 
 +  mkdir -p $CONDA_PREFIX/etc/conda/activate.d 
 +  echo 'CUDNN_PATH=$(dirname $(python -c "import nvidia.cudnn;print(nvidia.cudnn.__file__)"))' >> $CONDA_PREFIX/etc/conda/activate.d/env_vars.sh 
 +  echo 'export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$CONDA_PREFIX/lib/:$CUDNN_PATH/lib' >> $CONDA_PREFIX/etc/conda/activate.d/env_vars.sh 
 +  source $CONDA_PREFIX/etc/conda/activate.d/env_vars.sh 
 +  python3 -c "import tensorflow as tf; print(tf.config.list_physical_devices('GPU'))" 
 +  pip install --upgrade pip 
 +  pip install mediapipe-model-maker 
 + 
 + 
 +====== 学習 ======
 物体検出の学習は以下のページがメインリソース 物体検出の学習は以下のページがメインリソース
   * https://developers.google.com/mediapipe/solutions/vision/object_detector/customize   * https://developers.google.com/mediapipe/solutions/vision/object_detector/customize
  
-colaoを利用しない場合は部分削除してOK.あとはウェブサイ示されている手順どおうまくいくとモデルが完成するので,出来上がったモデルを試すページは以下+===== Multiple GPU ===== 
 +GPUを利用刷る場合、上記で設定がうまく行ってればそのままGPUで学習が始まる。一方で複数GPUを持っている場合は、別途オプションを設定する必要がある。 
 +https://developers.google.com/mediapipe/solutions/customization/object_detector#hyperparameters こページでパラメーターの一覧が確認できる。この中のHParamsで学習時の設定ができるが、実このページではどのように複数GPUを利用刷るかがわからない。そこで、より細かいAPIページを参照する必要がある。 具体的には 
 +https://developers.google.com/mediapipe/api/solutions/python/mediapipe_model_maker/object_detector/HParams このページを参照する。ここで、 
 + * num_gpus: 4 
 +等と設定することで、複数gpuを学習に利用できる。ただし、実際にこのオプションを設定して実行すると distribution_strageryが'off'だめだよ、というエラーになる。では distribution_strategyをどうすればよいのかが、実は述べられていない。結果としては、github上のソースコードから、ンプルとして、num_gpusを1以上に設定しているサンプルファルでは、 distribution_strategyに 'mirrored'を設定しているものがあ、これに倣って 'mirrored' にしたら学習が進んだ。まとめると、 
 + * num_gpus:4, 
 + * distribution_strategy='mirrored' 
 +でOK.例えばこんな感じ 
 + 
 +<code> 
 +hparams = object_detector.HParams( 
 +  export_dir='exported_model', 
 +  epochs=120, 
 +  num_gpus=4, 
 +  distribution_strategy='mirrored' 
 +  ) 
 +</code> 
 +====== 実行 ====== 
 +うまくいくとモデルが完成するので,出来上がったモデルを試すページは以下
   * https://mediapipe-studio.webapps.google.com/demo/object_detector   * https://mediapipe-studio.webapps.google.com/demo/object_detector
  
  
  • /home/users/2/lolipop.jp-4404d470cd64c603/web/ws/data/attic/mediapipe/モデル学習.1684130491.txt.gz
  • 最終更新: 2023/05/15 15:01
  • by baba