Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Example: task=Humanoid #1

Open
Yusuke-Yamasaki-555 opened this issue Feb 10, 2024 · 6 comments
Open

Example: task=Humanoid #1

Yusuke-Yamasaki-555 opened this issue Feb 10, 2024 · 6 comments

Comments

@Yusuke-Yamasaki-555
Copy link
Collaborator

Yusuke-Yamasaki-555 commented Feb 10, 2024

使用PC: ML2 (研究室サーバ)
・OS: Ubuntu 20.04.6
・CPU: Ryzen 5 3500
・Mem: 32GB
・GPU: RTX 2080 Super 8GB * 2
・Nvidia Driver: 470.223.02
・CUDA: 11.2

・Pytorch: 1.8.1
・conda activate rlgpu

@Yusuke-Yamasaki-555
Copy link
Collaborator Author

Yusuke-Yamasaki-555 commented Feb 10, 2024

Default(python3 train.py task=Humanoid headless=True)

  • 学習時間:おおよそ、00:14:16
    • GPUは1つのみ使用(だと思う)。
      • Isaac Gymでは単一インスタンスをMulti GPUで処理することは無理っぽい。別デバイス(ターミナル?)でGPUごとにそれぞれインスタンスを並行して与えれば、2倍でいけるかも(参考:公式Q&A)。
      • でも、標準出力ログでmulti_gpu:falseと表示されてるから、行けそうではある。要調査
  • 学習終了
    • 学習終了後のスクショ↓

image

  • 平均報酬(1回のみ実験):about 8312.76
  • 平均step(1回のみ実験):about 984.82
  • 学習の結果得られた方策をテストしている様子↓
isaacgym_humanoid_result_test_20240210.mp4
  • コマンド↓
    python3 train.py task=Humanoid checkpoint=runs/Humanoid_10-15-54-55/nn/Humanoid.pth test=True

@Yusuke-Yamasaki-555
Copy link
Collaborator Author

Yusuke-Yamasaki-555 commented Feb 10, 2024

Change 1

  • in cfg/train/HumanoidPPO.yaml
    • max_epoch: 1000 -> 5000

  • 学習時間:real 72m59.607s
  • 学習終了
    • 学習終了時のスクショ↓

image

  • 平均報酬:about 9963.3864
  • 平均step:about 980.7977
    • stepが1000までしかないのはなぜか?
      • たぶん、設定の問題。
    • てか、この方策のtestにおけるstepの意味があまり理解できていない。
      • stepは試行回数で、各stepで報酬を最大化するように方策を学習している。
      • で、このTestってのは、学習の過程をコンソールに出力してくれていて、Isaac Gymでは学習の結果得られた動作を示しているって感じか。
    • 平均報酬と平均stepがmax_epochが1000と5000のときでほぼ同じなのは学習のパラメータを変更していないからで、stepを5000にしたら少しUpするかもしれん。
      • が、このパラメータで得られる最大・平均報酬と平均stepはほぼ変わらんのだろう。max_epochが1000と5000それぞれで100回実験した平均をとれば、変化がほとんど無いことがわかるだろう。
      • 実際、得られた動作は全く同じに見えたし。
  • 利用したcheckpoint: Humanoid_10-19-18-09/nn/last_Humanoid_ep_5000_rew__9433.62.pth

@yasuohayashibara
Copy link
Member

画像を出力しないとだいぶ学習の速度が上がります.
以下,GankenKunKickでの例です.

python train.py task=GankenKunKick capture_video=True capture_video_freq=1500 capture_video_len=300 force_render=False

https://github.com/citbrains/IsaacGymEnvs/blob/main/docs/citbrains.md

@Yusuke-Yamasaki-555
Copy link
Collaborator Author

ありがとうございます。 試してみます。

@Yusuke-Yamasaki-555
Copy link
Collaborator Author

Yusuke-Yamasaki-555 commented Feb 12, 2024

Default (another command) (python3 train.py task=Humanoid capture_video=True capture_video_freq=1500 capture_video_len=300 force_render=False)

  • 学習時間の違いを見る。

Import ERRORが出て、capture_videoが使えない。

  1. ffmpegのlibraryファイルが無いよー、なエラーffmpeg: error while loading shared libraries: libopenh264.so.5: cannot open shared object file: No such file or directory -> conda update ffmpegでconda内で色々Update、Install
  2. moduleが無いよー、なエラーModuleNotFoundError: No module named 'markupsafe' -> conda install markupsafeでinstallやupdate
  3. ImageGrabのImportエラーImportError: ImageGrab is macOS and Windows only -> pillowのversionを8.2.0にupdate、関連pkgがupdate, install (torch, torchvisionは変更なし)。
  4. Segmentation fault (core dumped). 以下の出力。freqとlenを変えれば良いのか?わからん。あとこのエラーも含む。<unknown>:6: DeprecationWarning: invalid escape sequence \* Error: FBX library failed to load - importing FBX data will not succeed. Message: No module named 'fbx' -> driverとcuda ? Vulkanを入れればOK?。Segmentation fault (core dumped) isaac-sim/IsaacGymEnvs#52
    image
  • このエラー<unknown>:6: DeprecationWarning: invalid escape sequence \* Error: FBX library failed to load - importing FBX data will not succeed. Message: No module named 'fbx' は、capture_video引数を使わなくても出る。が、capture_videoを使わない場合は学習が行えるしGUI表示も可能。
  • エラーの発生位置からして、関係ない無視していいエラーかも。AMPのときには気にしなければいけないっぽいけども。Error: FBX library failed to load - importing FBX data will not succeed. Message: No module named 'fbx' isaac-sim/IsaacGymEnvs#140
  • ここ(https://zhuanlan.zhihu.com/p/679327032)を参考に、`Xlib: extension ~のエラーを対処するために、installされてなかったlibgl1-mesa-glx`をapt installしてみる。
    • ---> だめ。なんにも効果なし。
  • Pythonのライブラリで、Localに入っててCondaに入っていないPackageがあって、それが原因説。

  • headless=Trueでも描画をなくせるから、時間的には変化がないだろう。
  • ただ、学習中の様子を動画で示せるようにしたほうが良いので、上記コマンドにしたほうが良さげ?

@Yusuke-Yamasaki-555
Copy link
Collaborator Author

Chaned Velocity Scale (dofVelocityScale: 0.1 -> 0.05, angularVelocityScale: 0.25 -> 0.125)

  • .../task/Humanoid.yaml. cost parameters
  • 目標速度が遅くなると思われる。

  • 学習時間:
  • 学習終了
    • 平均step:
    • 平均報酬:
    • tensorboardによるstep毎のrewardの推移グラフ(よく見るやつ。正式名称は知らん)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants