메인 콘텐츠로 건너뛰기
이 페이지에서는 라인 플롯 설정을 자세히 설명합니다. 라인 플롯을 사용하는 방법에 대한 더 자세한 내용은 라인 플롯 개요를 참고하세요.

데이터 설정

X축

X축 선택
x축의 범위를 wandb.Run.log()으로 로깅한 정수 또는 부동소수점 값으로 설정합니다. 사용 가능한 시간 기반 x축 옵션:
  • Step: wandb.Run.log()이 호출될 때마다 1씩 증가합니다. 모델에서 로깅된 트레이닝 스텝 수를 나타냅니다. (기본값)
  • Relative Time (Wall): 프로세스가 시작된 이후의 실제 시계 시간입니다. 예를 들어 run을 시작한 뒤 하루 동안 일시 중지했다가 다시 재개해 로깅하면, 해당 지점은 24시간 위치에 표시됩니다.
  • Relative Time (Process): 실행 중인 프로세스 내부에서 경과한 시간입니다. 예를 들어 run을 시작해 10초 동안 실행한 후 하루 동안 일시 중지했다가 다시 재개하면, 해당 지점은 10초 위치에 표시됩니다.
  • Wall Time: 그래프에서 첫 번째 run이 시작된 시점부터 경과한 시간(분)입니다.
  • X range: 기본적으로 x축 값의 최소값부터 최대값까지의 범위입니다. 최소값과 최대값을 직접 지정해 수정할 수 있습니다.

Y축

Y축 변수로 wandb.Run.log()에 로깅한 정수 또는 실수 값을 설정합니다. 하나의 값, 값 배열 또는 값 히스토그램을 지정할 수 있습니다. 어떤 변수에 대해 1500개를 초과하는 포인트를 로깅했다면, W&B는 이를 1500개 포인트로 다운샘플링합니다.
Runs 테이블에서 run 색상을 변경하여 Y축 선 색상을 사용자 지정할 수 있습니다.
사용 가능한 Y축 옵션:
  • Y 범위: 기본값은 메트릭의 가장 작은 양수 값(0 포함)부터 메트릭의 가장 큰 값까지입니다. 최소값과 최대값을 사용자 지정할 수 있습니다.

포인트 집계 방식

데이터 포인트를 표시할 때 사용할 샘플링 모드를 선택하세요:

스무딩

스무딩 계수를 0과 1 사이의 값으로 설정합니다. 0은 스무딩 없음, 1은 최대 스무딩을 의미합니다. 사용 가능한 스무딩 방법은 다음과 같습니다.
  • Time weighted EMA(기본값): 이전 포인트의 가중치를 지수적으로 감소시켜 시계열 데이터를 스무딩하는 기법입니다.
  • Running average: 주어진 x 값의 앞뒤 윈도우에 있는 포인트들의 평균값으로 해당 포인트를 대체합니다.
  • Gaussian: 스무딩 파라미터로 지정된 표준편차를 갖는 가우시안 분포에 해당하는 가중치를 사용하여 포인트들의 가중 평균을 계산합니다.
  • No smoothing
자세한 내용은 선형 플롯 스무딩을 참조하세요.

이상치 무시

기본 플롯 최소/최대 범위에서 이상치를 제외하도록 플롯 스케일을 재조정합니다. 이 설정의 효과는 플롯의 샘플링 모드에 따라 달라집니다:
  • 랜덤 샘플링 모드: 이상치를 무시하면 플롯에서 하위 5%와 상위 95% 구간에 있는 데이터 포인트를 제외합니다.
  • Full fidelity 모드: 이상치를 무시하면 모든 데이터 포인트를 표시하되, 각 버킷의 마지막 값으로 압축해 표시하고, 하위 5%와 상위 95% 구간은 음영 처리합니다.

최대 run 또는 run 그룹

기본적으로 플롯에는 run 목록 또는 run 집합에서 처음 10개의 run 또는 run 그룹만 포함됩니다. 표시할 run 또는 run 그룹을 제어하려면 정렬 순서를 변경하세요.
워크스페이스에서는 설정과 관계없이 최대 1000개의 run만 표시할 수 있습니다.

차트 유형

플롯 스타일을 선택하세요:
  • Line plot
    선 그래프 스타일
  • Area plot
    영역 그래프 스타일
  • Percentage area plot:
    백분율 영역 그래프 스타일
Data 탭에서 차트 유형을 설정하세요. 를 참조하세요.

그룹화 설정

그룹화를 켜서 모든 run을 집계하거나, 개별 변수를 기준으로 그룹화합니다. Runs 테이블에서 그룹화를 켜면 해당 그룹이 그래프에 자동으로 반영됩니다.
  • Group runs: 플롯에서 run 그룹화를 켭니다. 아래 플롯의 음영 범위를 설정하려면 필수입니다.
  • Group by: 선택적으로 열을 하나 선택합니다. 해당 열에서 값이 같은 모든 run이 하나의 그룹으로 묶입니다.
  • Aggregation: 그래프에 그려지는 선의 값입니다. 선택 옵션은 그룹에 대한 mean, median, min, max입니다.
  • Range: 고충실도 선형(line) 플롯의 음영 영역을 설정합니다. 선택 옵션은 Min/Max, Std Dev, Std Err 또는 None입니다.

차트 설정

제목과 범례 표시를 설정합니다:
  • Panel title: 패널 상단에 표시되는 제목입니다.
  • X-axis title: x축에 대한 레이블입니다.
  • Y-axis title: y축에 대한 레이블입니다.
  • Legend: 범례를 표시하거나 숨기고, 위치를 설정합니다.

범례 설정

범례를 사용자 지정하여 로깅된 구성 값과 run 메타데이터를 표시하도록 설정할 수 있습니다. 예를 들어 생성 시간이나 run을 생성한 사용자를 표시할 수 있습니다.

범례 템플릿

범례 이름에 사용할 템플릿을 정의합니다.
  1. 톱니바퀴 아이콘을 클릭해 플롯 설정을 엽니다.
  2. Display preferences 탭으로 이동합니다.
  3. Advanced legend를 펼친 다음, 범례 템플릿을 지정합니다.
  4. Apply를 클릭합니다.
예: ${run:displayName} - ${config:dropout}royal-sweep - 0.5와 같은 범례 이름을 생성합니다. 여기서 royal-sweep은 run 이름이고 0.5dropout이라는 이름의 config 파라미터 값입니다.

포인트별 값

차트 위에 마우스를 올렸을 때 십자선에 포인트별 값을 표시하려면 [[ ]] 안에 값을 지정합니다.
  1. 톱니바퀴 아이콘을 클릭해 플롯 설정을 엽니다.
  2. Display preferences 탭으로 이동합니다.
  3. 탭 맨 아래에서 하나 이상의 플롯 메트릭에 대해 포인트별 값을 구성합니다.
  4. Apply를 클릭합니다.
예시: [[ $x: $y ($original) ]] 는 “2: 3 (2.9)“와 같이 표시됩니다. [[ ]] 안에서 사용할 수 있는 값:
ValueMeaning
${x}X 값
${y}Y 값 (스무딩 조정을 포함)
${original}스무딩 조정을 포함하지 않은 Y 값
${mean}그룹화된 run의 평균
${stddev}그룹화된 run의 표준 편차
${min}그룹화된 run의 최소값
${max}그룹화된 run의 최대값
${percent}전체 대비 비율(누적 영역 차트용)

표현식

파생 메트릭을 만들기 위해 사용자 정의 계산식을 추가하세요.

Y축 표현식

메트릭에서 파생된 값을 그래프로 그립니다. 예를 들어 1-accuracy 또는 기타 산술 표현식을 계산할 수 있습니다. 현재는 단일 메트릭을 플로팅할 때만 사용할 수 있습니다. 지원되는 연산자: +, -, *, /, %, 그리고 ** (지수 연산용). 로그된 메트릭과 하이퍼파라미터와 같은 설정값을 함께 사용하여 사용자 지정 선을 계산할 수 있습니다.

X축 표현식

사용자 지정 표현식을 사용해 계산된 값으로 X축을 재조정합니다. 유용한 변수:
  • _step: 기본 X축 값입니다.
  • ${summary:value}: summary 값을 참조합니다.

다중 메트릭 패널 표현식

정규 표현식을 사용해 여러 메트릭을 하나의 선형 플롯에 함께 표시할 수 있습니다(앞으로 로깅될, 패턴에 맞는 메트릭도 포함). 자세한 사용 방법은 선형 플롯 추가를 참고하세요. 예를 들어:
  • 각 레이어의 메트릭마다 개별 패널을 만드는 대신, 하나의 패널에서 함께 볼 수 있습니다. 예를 들어, layer_0_loss, layer_1_loss, layer_2_loss처럼 일관된 규칙으로 메트릭을 로깅한다면, layer_\d+__loss 같은 정규식을 사용해 모든 레이어의 loss를 하나의 플롯에 표시할 수 있습니다.
  • 공통된 이름 패턴을 가진 모든 메트릭에 매칭할 수 있습니다. 예를 들어:
    • train_.*train_loss, train_accuracy, train_f1_score와 같은 모든 트레이닝 메트릭과 매칭됩니다.
    • .*_accuracytrain_accuracy, val_accuracy, test_accuracy처럼 서로 다른 데이터셋에 대한 accuracy 메트릭과 매칭됩니다.
  • OR(또는) 패턴을 사용해 원하는 메트릭만 선택적으로 매칭할 수 있습니다. 예를 들어, non-capture 그룹 (?:layer_0|layer_10)_loss는 중간 레이어는 제외하고 첫 번째와 열 번째 레이어의 loss만 매칭합니다.

캡처 그룹

정규식의 캡처 그룹은 다중 메트릭 패널이 생성되는 방식을 제어합니다. 이 동작은 미리 알지 못하면 헷갈릴 수 있습니다.
  • 캡처 그룹은 여러 개의 패널을 생성합니다 정규식에 캡처 그룹을 이루는 괄호가 포함되어 있으면, UI는 해당 그룹이 캡처한 고유한 값마다 각각 별도의 패널을 생성합니다. 예를 들어, 정규식 (layer_0|layer_10)_loss에는 캡처 그룹이 포함되어 있으며, 다음과 같이 두 개의 별도 패널을 생성합니다:
    1. layer_0와 일치하는 메트릭에 대한 패널 하나
    2. layer_10와 일치하는 메트릭에 대한 패널 하나
  • Non-capturing 그룹은 메트릭을 한데 모읍니다 여러 대안을 매칭하면서도 별도의 패널을 만들지 않으려면 ?: 문법을 사용하는 non-capturing 그룹을 사용하세요. 정규식 (?:layer_0|layer_10)_loss는 앞의 예와 동일한 메트릭과 일치하지만, 하나의 패널에 함께 표시합니다.
차이는 다음과 같습니다:
  • (layer_0|layer_10)_loss - 각 레이어에 대해 패널 두 개를 생성합니다.
  • (?:layer_0|layer_10)_loss - 두 레이어를 함께 보여주는 패널 하나를 생성합니다.
이를 통해 분석 목적에 가장 잘 맞는 방식을 선택할 수 있는 유연성이 생깁니다. 메트릭을 별도의 패널로 분리하고 싶다면 캡처 그룹을 사용하세요. 단일 플롯에서 메트릭을 함께 비교하고 싶다면 non-capturing 그룹을 사용하세요.