본문 바로가기
AI/강화학습

5. [OPENAI] Experiment Outputs

by 보안매크로 2025. 1. 22.
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 실행 시 환경을 찾을 수 없어 에러가 발생합니다. 이 경우:

  1. 환경을 수동으로 재생성합니다.
  2. 아래 명령어를 사용하여 실행합니다:
 
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