728x90
1. 알고리즘 출력
Spinning Up에서 실행된 알고리즘은 아래와 같은 항목들을 저장합니다:
- 하이퍼파라미터 설정
- 학습 진행 상태
- 학습된 에이전트와 가치 함수
- 가능하다면 환경의 복사본
출력 디렉토리 구조
- pyt_save/: PyTorch 학습 결과 저장.
- 내용: model.pt는 학습된 에이전트를 복원할 수 있는 PyTorch 모델.
- tf1_save/: Tensorflow 학습 결과 저장.
- 내용: Tensorflow SavedModel 관련 파일들 (variables/, model_info.pkl, saved_model.pb).
- config.json: 실험 실행 시 사용된 파라미터를 기록한 JSON 파일 (단, 실행 재현 불가).
- progress.txt: 학습 진행 상태 (예: Epoch, Average Return 등) 로그 파일.
- vars.pkl: 환경 복사본을 포함하는 피클 파일 (환경 저장 실패 가능성 있음).
2. 디렉토리 저장 위치 변경
기본 저장 위치는 Spinning Up의 data/ 디렉토리입니다.
- 변경 방법: spinup/user_config.py에서 DEFAULT_DATA_DIR 값을 수정.
3. 학습된 정책 로드 및 실행
학습된 에이전트를 환경에서 실행하려면 다음 명령어를 사용합니다:
python -m spinup.run test_policy path/to/output_directory
실행 옵션
- --len 또는 -l: 에피소드 최대 길이 (기본값 0은 제한 없음).
- --episodes 또는 -n: 실행할 테스트 에피소드 수 (기본값 100).
- --norender: 화면에 결과를 렌더링하지 않음 (빠른 테스트용).
- --itr 또는 -i: 특정 학습 스냅샷을 로드 (기본값: 가장 최신 스냅샷).
- --deterministic: SAC 알고리즘에서 결정론적 정책 사용 (기본은 확률적 정책).
4. 환경 저장 실패 시 대처
환경이 저장되지 않은 경우, test_policy.py 실행 시 환경을 찾을 수 없어 에러가 발생합니다. 이 경우:
- 환경을 수동으로 재생성합니다.
- 아래 명령어를 사용하여 실행합니다:
from spinup.utils.test_policy import load_policy_and_env, run_policy import your_env _, get_action = load_policy_and_env('/path/to/output_directory') env = your_env.make() run_policy(env, get_action)
5. 가치 함수 사용
test_policy.py는 가치 함수를 테스트하는 기능을 제공하지 않습니다. 가치 함수를 사용하려면 다음을 수행해야 합니다:
- PyTorch: torch.load로 모델 파일을 로드한 후, 알고리즘 문서를 참조하여 필요한 모듈을 확인.
- Tensorflow: restore_tf_graph 함수를 사용하여 저장된 그래프를 로드.
728x90
'AI > 강화학습' 카테고리의 다른 글
7. [OPENAI] Part 1: Key Concepts in RL (1) | 2025.01.24 |
---|---|
6. [OPENAI] Plotting Results (0) | 2025.01.23 |
4. [OPENAI] Running Experiments (0) | 2025.01.21 |
3. [OPENAI] Algorithms (0) | 2025.01.20 |
2. [OPENAI] Installation(Window) (0) | 2025.01.17 |