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

6. [OPENAI] Plotting Results

by 보안매크로 2025. 1. 23.
728x90

 Spinup의 결과 플로팅 유틸리티는 실험 데이터를 시각화하는 데 유용합니다. 이를 사용하면 실험의 성능을 비교하거나 데이터를 보다 명확하게 해석할 수 있습니다. 다음 명령어로 플로팅 유틸리티를 실행할 수 있습니다:

python -m spinup.run plot [path/to/output_directory ...] [--legend [LEGEND ...]] [--xaxis XAXIS] [--value [VALUE ...]] [--count] [--smooth S] [--select [SEL ...]] [--exclude [EXC ...]]

필수 인자 (Positional Arguments)

logdir

  • 설명:
    • 플로팅할 로그 디렉토리 또는 디렉토리 접두어(prefix)를 문자열로 입력합니다.
    • 플로팅 유틸리티는 제공된 디렉토리 경로를 기준으로 내부적으로 자동완성을 수행하여 관련 로그 디렉토리를 검색합니다.
  • 예시:
    여러 알고리즘의 성능을 비교하려고 다음과 같은 디렉토리 구조를 가지고 있다고 가정합니다.아래 명령어를 사용하면 bench_algo1과 bench_algo2 데이터를 모두 포함하는 그래프를 생성할 수 있습니다.
  • python spinup/utils/plot.py data/bench_algo
  • data/ bench_algo1/ bench_algo1-seed0/ bench_algo1-seed10/ bench_algo2/ bench_algo2-seed0/ bench_algo2-seed10/
     

 


옵션 인자 (Optional Arguments)

--legend, -l

  • 설명:
    • 플롯에 표시할 범례를 문자열로 지정합니다.
    • 지정하지 않으면 각 실험의 config.json 파일에 정의된 exp_name이 범례로 사용됩니다.
  • 주의:
    • 디렉토리에서 자동완성된 모든 실험 결과에 대해 각각 범례를 지정해야 합니다.

--xaxis, -x

  • 설명:
    • 데이터의 어떤 열(column)을 x축에 사용할지 선택합니다.
    • 기본값: 'TotalEnvInteracts'

--value, -y

  • 설명:
    • 데이터의 어떤 열(column)을 y축에 사용할지 선택합니다.
    • 여러 값을 지정하면 각 값에 대해 별도의 그래프를 생성합니다.
    • 기본값: 'Performance'
      • Performance는 알고리즘이 출력하는 실제 값이 아니라, 플로터가 자동으로 선택한 값입니다.
      • 예를 들어, on-policy 알고리즘은 AverageEpRet을, off-policy 알고리즘은 AverageTestEpRet을 사용합니다.

--count

  • 설명:
    • 기본적으로 플로터는 동일한 exp_name을 가진 결과를 평균화하여 플롯합니다.
    • --count 플래그를 사용하면 각 실험의 곡선을 개별적으로 표시합니다.

--smooth, -s

  • 설명:
    • 데이터를 고정된 창(window)으로 평균화하여 스무딩 처리합니다.
    • 기본값: 1
    • 이 값은 평균화 창의 크기를 나타냅니다.

--select

  • 설명:
    • 특정 문자열이 포함된 로그 디렉토리의 곡선만 표시합니다.

--exclude

  • 설명:
    • 특정 문자열이 포함되지 않은 로그 디렉토리의 곡선만 표시합니다.
728x90

'AI > 강화학습' 카테고리의 다른 글

8. [OPENAI] Part 2: Kinds of RL Algorithms  (0) 2025.02.04
7. [OPENAI] Part 1: Key Concepts in RL  (0) 2025.01.24
5. [OPENAI] Experiment Outputs  (1) 2025.01.22
4. [OPENAI] Running Experiments  (0) 2025.01.21
3. [OPENAI] Algorithms  (0) 2025.01.20