μ΄ μ μ₯μλ λ€μν κ°ννμ΅ μκ³ λ¦¬μ¦κ³Ό νκ²½μ λν ꡬνμ ν¬ν¨νκ³ μμ΅λλ€.
.
βββ A3C/ # A3C (Asynchronous Advantage Actor-Critic) ꡬν
β βββ a3c_pong.py # A3C μκ³ λ¦¬μ¦ κ΅¬ν
β βββ requirements.txt # νμν ν¨ν€μ§ λͺ©λ‘
β βββ Dockerfile # Docker μ€μ νμΌ
β βββ run.bat # Docker μ€ν μ€ν¬λ¦½νΈ (Windows)
β βββ run.sh # Docker μ€ν μ€ν¬λ¦½νΈ (Linux/Mac)
β βββ output_a3c/ # νμ΅ κ²°κ³Ό μ μ₯ λλ ν 리
β βββ models/ # νμ΅λ λͺ¨λΈ μ μ₯
β βββ logs/ # νμ΅ λ‘κ·Έ μ μ₯
β βββ videos/ # νμ΅ κ³Όμ λΉλμ€ μ μ₯
β
βββ FrozenLake/ # FrozenLake νκ²½μμμ Q-Learning ꡬν
β βββ frozen_lake_qlearning.py # Q-Learning μκ³ λ¦¬μ¦ κ΅¬ν
β βββ requirements.txt # νμν ν¨ν€μ§ λͺ©λ‘
β βββ Dockerfile # Docker μ€μ νμΌ
β βββ README.md # νλ‘μ νΈ μ€λͺ
β βββ run_docker.bat # Docker μ€ν μ€ν¬λ¦½νΈ (Windows)
β βββ run_simple.bat # κ°λ¨ν μ€ν μ€ν¬λ¦½νΈ (Windows)
β βββ run_quick_test.bat # λΉ λ₯Έ ν
μ€νΈ μ€ν¬λ¦½νΈ (Windows)
β βββ docker_utils.bat # Docker νκ²½ κ΄λ¦¬ μ νΈλ¦¬ν° (Windows)
β βββ run.sh # Docker μ€ν μ€ν¬λ¦½νΈ (Linux/Mac)
β
βββ REINFORCE_CartPole/ # CartPole νκ²½μμμ REINFORCE ꡬν
β βββ main.py # λ©μΈ νμ΅ μ½λ
β βββ requirements.txt # νμν ν¨ν€μ§ λͺ©λ‘
β βββ run.bat # μ€ν μ€ν¬λ¦½νΈ
β βββ Dockerfile # Docker μ€μ νμΌ
β
βββ REINFORCE/ # κΈ°λ³Έ REINFORCE μκ³ λ¦¬μ¦ κ΅¬ν
β βββ main.py # λ©μΈ νμ΅ μ½λ
β βββ requirements.txt # νμν ν¨ν€μ§ λͺ©λ‘
β βββ run.bat # μ€ν μ€ν¬λ¦½νΈ
β βββ Dockerfile # Docker μ€μ νμΌ
β βββ policy_net.pth # νμ΅λ λͺ¨λΈ
β βββ game_progress.gif # νμ΅ κ³Όμ μκ°ν
β βββ game_progress.mp4 # νμ΅ κ³Όμ λΉλμ€
β βββ frame.png # κ²μ νλ μ
β βββ REINFOCE_example_code*.ipynb # Jupyter λ
ΈνΈλΆ μμ
β
βββ REINFORCE_Baseline/ # Baselineμ΄ μΆκ°λ REINFORCE ꡬν
βββ main.py # λ©μΈ νμ΅ μ½λ
βββ requirements.txt # νμν ν¨ν€μ§ λͺ©λ‘
βββ run.bat # μ€ν μ€ν¬λ¦½νΈ
βββ Dockerfile # Docker μ€μ νμΌ
βββ README.md # νλ‘μ νΈ μ€λͺ
βββ logs/ # νμ΅ λ‘κ·Έ μ μ₯
βββ videos/ # νμ΅ κ³Όμ λΉλμ€ μ μ₯
- μμΉ: A3C/
- μ€λͺ : A3C μκ³ λ¦¬μ¦μ μ¬μ©νμ¬ Atari Pong κ²μμ νμ΅
- νΉμ§:
- λ©ν°νλ‘μΈμ±μ ν΅ν λΉλκΈ° νμ΅
- Actor-Critic μν€ν μ² μ¬μ©
- νμ΅ κ³Όμ λΉλμ€ λ Ήν
- Docker 컨ν μ΄λν μ§μ
- Windows/Linux/Mac νΈνμ±
- μμΉ: FrozenLake/
- μ€λͺ : ν μ΄λΈ κΈ°λ° Q-Learningμ μ¬μ©νμ¬ FrozenLake νκ²½μ ν΄κ²°
- νΉμ§:
- 4x4 λ° 8x8 λ§΅ μ§μ
- λ―Έλλ¬μ΄/λ―Έλλ½μ§ μμ λ²μ μ§μ
- νμ΅ κ³Όμ μκ°ν
- λ€μν μ€ν μ΅μ μ 곡 (Docker, κ°λ¨ μ€ν, λΉ λ₯Έ ν μ€νΈ)
- Windows/Linux/Mac νΈνμ±
- μμΉ: REINFORCE_CartPole/
- μ€λͺ : REINFORCE μκ³ λ¦¬μ¦μ μ¬μ©νμ¬ OpenAI Gymμ CartPole-v1 νκ²½μ νμ΅
- νΉμ§:
- PyTorchλ₯Ό μ¬μ©ν μ κ²½λ§ κΈ°λ° μ μ± λ€νΈμν¬
- GPU κ°μ μ§μ
- Docker 컨ν μ΄λν μ§μ
- μμΉ: REINFORCE/
- μ€λͺ : κΈ°λ³Έμ μΈ REINFORCE μκ³ λ¦¬μ¦ κ΅¬ν
- νΉμ§:
- Jupyter λ ΈνΈλΆμ ν΅ν μμ μ½λ μ 곡
- νμ΅ κ³Όμ μκ°ν (GIF, MP4)
- Docker 컨ν μ΄λν μ§μ
- μμΉ: REINFORCE_Baseline/
- μ€λͺ : Baselineμ΄ μΆκ°λ REINFORCE μκ³ λ¦¬μ¦ κ΅¬ν
- νΉμ§:
- νμ΅ λ‘κ·Έ λ° λΉλμ€ μ μ₯
- μμΈν μ€ν μ€ν¬λ¦½νΈ
- Docker 컨ν μ΄λν μ§μ
- λͺ¨λ νλ‘μ νΈλ Dockerλ₯Ό ν΅ν΄ μ€ν κ°λ₯
- νμν ν¨ν€μ§λ requirements.txtμ λͺ μ
- μ€ν μ€ν¬λ¦½νΈ(run.bat/run.sh) μ 곡
κ° νλ‘μ νΈ λλ ν 리μμ λ€μ λͺ λ Ήμ΄λ₯Ό μ€ν:
# Dockerλ₯Ό μ¬μ©νλ κ²½μ°
docker build -t rl-project .
docker run -it rl-project
# λλ μ§μ μ€ν
python main.py # λλ νλ‘μ νΈλ³ λ©μΈ νμΌ- Python 3.6+
- PyTorch (REINFORCE, A3C νλ‘μ νΈ)
- OpenAI Gym/Gymnasium
- NumPy
- Matplotlib
- Docker (μ νμ¬ν)