반응형
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |
Tags
- 클론코딩
- 리액트네이티브
- 데이터분석
- Instagrame clone
- 조코딩
- 앱개발
- 사이드프로젝트
- 강화학습
- GYM
- React
- JavaScript
- FirebaseV9
- ReactNative
- redux
- 강화학습 기초
- Ros
- 머신러닝
- clone coding
- kaggle
- pandas
- selenium
- 전국국밥
- coding
- App
- Reinforcement Learning
- 카트폴
- TeachagleMachine
- expo
- python
- 딥러닝
Archives
- Today
- Total
qcoding
[강화학습-13] 도구 · 라이브러리 모음 – Gym · Stable Baselines3 · TF vs PyTorch 본문
머신러닝 딥러닝
[강화학습-13] 도구 · 라이브러리 모음 – Gym · Stable Baselines3 · TF vs PyTorch
Qcoding 2025. 5. 28. 17:43반응형
13. 주요 도구 & 라이브러리
실험을 “5분 만에” 돌릴 수 있는 세팅부터, 대규모 클러스터 학습까지— 가장 많이 사용하는 Gym / Stable Baselines3, 그리고 TensorFlow vs PyTorch 선택 가이드를 한눈에 정리했습니다.
13-1. OpenAI Gym & Stable Baselines3 빠른 시작


# 1️⃣ 설치
pip install "gymnasium[classic_control]" stable-baselines3[extra]
# 2️⃣ 환경 만들기
import gymnasium as gym
env = gym.make("CartPole-v1")
# 3️⃣ 학습
from stable_baselines3 import PPO
model = PPO("MlpPolicy", env, verbose=1)
model.learn(total_timesteps=100_000)
# 4️⃣ 배포/플레이
obs, _ = env.reset()
done = False
while not done:
action, _ = model.predict(obs, deterministic=True)
obs, reward, term, trunc, _ = env.step(action)
done = term or trunc
env.close()
MlpPolicy
,CnnPolicy
,MultiInputPolicy
등 사전 정의.- HP 검색 :
model = PPO(..., tensorboard_log="./runs")
→ TensorBoard 시각화. - Gymnasium 은 Gym 계보를 잇는 공식 커뮤니티 포크(API 동일).
13-2. TensorFlow vs PyTorch – Reinforcement Learning 관점
항목 | ![]() | ![]() |
---|---|---|
동적 ⇔ 정적 | Eager 기본 + @tf.function 그래프 전환 |
Define-by-Run 기본, torch.compile() (JIT) 가속 |
주요 RL 프레임워크 | TF-Agents, Acme(TF), Dopamine | Stable Baselines3, Lightning-RL, RLLib, CleanRL |
TPU 지원 | 공식 지원 (Cloud TPU) | XLA Backend ON (2.0+) → TPU v2/v3 지원 |
모델 서빙 | TensorFlow Serving / TFX | TorchServe / Triton / ONNX Runtime |
IDE 디버깅 | tf.debugging , TensorBoard Debugger |
torch.autograd.set_detect_anomaly , torchviz |
커뮤니티 트렌드 (RL) | 로봇 ROS, 모바일 전력 SL | 논문·오픈소스 8 할 이상 PyTorch |
❓ 어떤 걸 써야 할까? • 빠른 실험·최신 코드를 따라가려면 PyTorch ▶ SB3 / CleanRL • TPU·모바일·TF-Serving 파이프라인 이미 구축 → TF 2.x + TF-Agents
13-3. 개발 · 디버깅 팁 모음
카테고리 | 도구 | Tip |
---|---|---|
로그 & 비주얼 | TensorBoard · Weights&Biases · MLflow | model.learn(..., callback=WandbCallback()) |
네트워크 구조 확인 | torchsummary , tf.keras.Model.summary() |
파라미터 수·메모리 추산 후 배치 크기 조정 |
NaN / Exploding Grad | PyTorch torch.nan_to_num() TF tf.debugging.check_numerics |
🧯 Gradient Clipping or RMSNorm |
재현성 | seed_everything() , deterministic cuDNN |
심지어 Gym env seed 도 고정해야 동일 결과 |
프로파일링 | PyTorch Profiler · TensorBoard Profiler | 마우스로 구간 드래그 → CPU/GPU HTrace 확인 |
분산 실행 | Ray RLlib, Torch DDP, Horovod | 1줄 config로 워커 수 scale-out .rollouts(num_rollout_workers=16) |

13-4. 요약 & 다음 예고
- 💡 Gym + Stable Baselines3 (+ PyTorch) 조합이면 대다수 RL 논문·튜토리얼을 그대로 재현 가능.
- 💡 TensorFlow 생태계를 이미 사용 중이면
TF-Agents
·Dopamine
도 고려. - 💡 디버깅 단계에서 시각화·프로파일링·재현성 세 축을 꼭 챙기자.
다음 글 : 모델 배포 & 운영— ONNX Export, 실시간 추론, A/B 테스트, 모니터링까지 “RL 서비스”를 위한 MLOps 관점을 살펴봅니다.
참고 링크
- Stable Baselines3 Docs – SB3 Doc
- Gymnasium – gymnasium.farama.org
- Optuna + SB3 튜닝 예제 – GitHub
- PyTorch Profiler 튜토리얼 – pytorch.org
반응형
'머신러닝 딥러닝' 카테고리의 다른 글
[강화학습-15] 맺음말 향후 전망 – 강화학습 로드맵 (0) | 2025.05.28 |
---|---|
[강화학습-14] 모델 배포 운영 – 저장·서비스·모니터링 (0) | 2025.05.28 |
[강화학습-12] 실전 프로젝트 사례 연구 – 환경 선정, 튜닝, 시뮬레이터 연동 (0) | 2025.05.28 |
[강화학습-11] 고급 기법 & 최신 토픽 – PPO · SAC · 분산 RL · 탐험 전략 (0) | 2025.05.28 |
[강화학습-10] 액터-크리틱(Actor-Critic) (0) | 2025.05.28 |
Comments