본문 바로가기

Cartpole

(3)
Quadruped 공부 하고 싶다. #6-3 [Task1 - PPO: Cartpole with Pytorch③-3] #PPO with Cartpole in Pytorch Sim2Real을 하기 이전에, 어떻게 Env와 Agent가 소통을 하는지 직접적으로 코드를 짜서 구현해보는 Task를 진행해본다. 추후에 Isaac-Gym에서 이 부분을 커스텀하게 만들어야 하는데 굉장히 복잡할 거 같아서 좀 무섭지만, 그래도 부딪히고 볼 생각이다. 좌측에 Directory를 보면 우리가 일전에 구현한 PPO_torch.py와 이제 만들게 될 GYM_torch.py를 한 폴더에 넣어주고 from PPO_torch import Agent를 통해 파일을 불러온다. utils코드는 단순하게 성능지표를 png파일로 저장해주는 기능이므로 크게 다룰 것이 없다고 생각한다. Algorithm의 Structure를 위주로 설명해 보고자 한다. Op..
Quadruped 공부 하고 싶다. #6-2 [Task1 - PPO: Cartpole with Pytorch③-2] #PPO with Cartpole in Pytorch 일전에 이어서 올린다는 게 예약을 삭제로 했던 거 같다. 블로그를 정리하다가 지금에서야 발견해서 다시 써보려고 한다. 지난번 내용을 간략하게 정리하면, Algorithm을 완성시키기 위해서는 1. PPOMemory (Observated Data Processing) Simulation에서 Observation 된 6가지의 Data에 대해 읽고 버릴 필요가 있다. 그래서 해당 부분을 class PPOMemory를 통해 Data 저장, 추가, 삭제 만들어주었고 Deep-Learning을 위해 Batch function도 만들어준 것을 볼 수 있다. PPOMemory에서의 키워드는 두가지로 정리된다. DRL(Deep-Reinforcement-Learning..
Quadruped 공부 하고 싶다. #6-1 [Task1 - PPO: Cartpole with Pytorch③-1] #PPO with Cartpole in Pytorch DRL에서 가장 쉬운 예제 CartPole과 Isaac에 쓰이는 Pytorch & PPO의 주제가 겹쳐 해당하는 예제를 토대로 PPO를 분석해보려 한다. 일단 원본 코드[1]에서는 slow error가 나서 일부 수정을하고, Rendering 기능이 따로 없어서 내가 조금 편집한 코드를 올려본다. 그리고 코드를 참조하면서 Pytorch지식이 부족한 부분을 Z_Torch_Example로 공부해 봤다. https://github.com/miercat0424/Cartpolev1-PPO-pytorch/tree/main/My_PPO GitHub - miercat0424/Cartpolev1-PPO-pytorch: Pytorch PPO for Cartpole Ex..