Skip to main content
이미지, 비디오, 오디오 등을 지원합니다. 리치 미디어를 로깅하여 결과를 탐색하고 run, 모델, 데이터셋을 시각적으로 비교하세요. 아래에서 예시와 사용 가이드를 확인하세요.
자세한 내용은 데이터 유형 레퍼런스를 참조하세요.
더 자세한 내용은 모델 예측 시각화에 관한 데모 보고서를 확인하거나 비디오 워크스루를 시청하세요.

사전 요구 사항

W&B SDK를 사용하여 미디어 객체를 로깅하려면 추가 의존성을 설치해야 할 수 있습니다. 다음 명령을 실행하여 이러한 의존성을 설치할 수 있습니다:

이미지

이미지를 로깅하여 입력, 출력, 필터 가중치, 활성화 등을 추적하세요.
오토인코더 입력 및 출력
이미지는 NumPy 배열이나 PIL 이미지에서 직접 로깅하거나, 파일 시스템에서 로깅할 수 있습니다. step에서 이미지를 로깅할 때마다 UI에서 해당 이미지를 확인할 수 있습니다. 이미지 패널을 펼친 다음 step 슬라이더를 사용하여 여러 step의 이미지를 살펴보세요. 이렇게 하면 트레이닝 중 모델 출력이 어떻게 변하는지 쉽게 비교할 수 있습니다. 미디어 패널을 클릭하면 이미지를 전체 화면 모드로 볼 수 있으며, 이 모드에서는 키보드 단축키 등을 사용하여 확대/축소하고 이동할 수 있습니다. 서로 다른 run, step 또는 인덱스의 이미지나 비디오를 하나의 뷰에서 비교하려면 미디어 패널의 비교 모드를 사용하세요.
트레이닝 중 로깅이 병목 지점이 되거나 결과를 볼 때 이미지 로딩이 병목 지점이 되지 않도록 step당 50개 미만의 이미지를 로깅하는 것이 좋습니다.
torchvision의 make_grid를 사용할 때처럼 이미지를 수동으로 구성하는 경우에는 배열을 직접 제공하세요.배열은 Pillow를 사용하여 png로 변환됩니다.
마지막 차원이 1이면 그레이스케일, 3이면 RGB, 4이면 RGBA 이미지로 간주합니다. 배열에 부동 소수점 값이 포함되어 있으면 0에서 255 사이의 정수로 변환합니다. 이미지를 다른 방식으로 정규화하려면 mode를 수동으로 지정하거나, 이 패널의 “PIL 이미지 로깅하기” 탭에 설명된 대로 PIL.Image를 직접 제공하세요.

이미지 오버레이

시맨틱 세그멘테이션 마스크를 로깅하고 W&B UI에서 불투명도 조절, 시간에 따른 변화 확인 등 다양한 방식으로 상호작용하세요.
대화형 마스크 보기
오버레이를 로깅하려면 다음 키와 값을 포함하는 딕셔너리를 wandb.Image의 masks 키워드 인수에 전달하세요.
  • 이미지 마스크를 나타내는 두 키 중 하나:
    • "mask_data": 각 픽셀의 정수 클래스 레이블을 포함하는 2차원 NumPy 배열
    • "path": (string) 저장된 이미지 마스크 파일의 경로
  • "class_labels": (선택) 이미지 마스크의 정수 클래스 레이블을 사람이 읽을 수 있는 클래스 이름에 매핑하는 딕셔너리
여러 마스크를 로깅하려면 아래 코드 스니펫처럼 여러 키를 포함하는 마스크 딕셔너리를 로깅하세요.실제 예시 보기예시 코드
키의 세그멘테이션 마스크는 각 step(run.log()를 호출할 때마다)에서 정의됩니다.
  • 여러 step에서 동일한 마스크 키에 서로 다른 값을 제공하면, 해당 키의 가장 최근 값만 이미지에 적용됩니다.
  • 여러 step에서 서로 다른 마스크 키를 제공하면, 각 키의 모든 값이 표시되지만 현재 보고 있는 step에서 정의된 값만 이미지에 적용됩니다. 해당 step에서 정의되지 않은 마스크의 표시 여부를 전환해도 이미지는 변경되지 않습니다.

Tables의 이미지 오버레이

Tables의 대화형 세그멘테이션 마스크
table에 세그멘테이션 마스크를 로깅하려면 table의 각 행에 wandb.Image 객체를 제공해야 합니다.아래 코드 스니펫에 예시가 나와 있습니다:

히스토그램

목록, 배열, 텐서 등 숫자 시퀀스를 첫 번째 인수로 전달하면 np.histogram()을 호출하여 히스토그램을 자동으로 생성합니다. 모든 배열과 텐서는 1차원으로 평탄화됩니다. 선택적 키워드 인수 num_bins를 사용하면 기본값인 64개 대신 원하는 구간 수를 지정할 수 있습니다. 구간 수는 최대 512개까지 지원됩니다.UI에서는 트레이닝 중 로깅된 히스토그램을 쉽게 비교할 수 있도록 x축에 트레이닝 step, y축에 메트릭 값을 표시하고, 각 구간의 빈도를 색상으로 나타냅니다. 일회성 히스토그램을 로깅하는 방법은 이 패널의 “Histograms in Summary” 탭을 참조하세요.
GAN 판별자 그라디언트

3D 시각화

3D 포인트 클라우드와 바운딩 박스가 포함된 Lidar 장면을 로깅하세요. 렌더링할 점의 좌표와 색상이 포함된 NumPy 배열을 전달하세요. 로깅된 포인트 클라우드는 W&B 앱에서 완전한 대화형 기능을 제공합니다. 예를 들어, 아래에 삽입된 주행 장면의 LIDAR 포인트 클라우드 보고서는 3D 바운딩 박스가 포함된 Lyft 데이터셋의 장면을 보여줍니다. 뷰어 안에서 드래그하여 회전하고 확대하거나 축소하세요.
W&B UI는 데이터 포인트를 300,000개까지만 표시합니다.

NumPy 배열 형식

유연한 색상 구성을 위해 세 가지 NumPy 배열 형식을 지원합니다.
  • [[x, y, z], ...] nx3
  • [[x, y, z, c], ...] nx4 | c는 범주입니다 범위는 [1, 14]입니다 (분할에 유용)
  • [[x, y, z, r, g, b], ...] nx6 | r,g,b는 빨강, 초록, 파랑 색상 채널에 대한 [0,255]범위의 값입니다.

Python 객체

이 스키마를 사용하여 Python 객체를 정의하고 from_point_cloud 방법에 전달할 수 있습니다.
  • points는 위에 표시된 단순한 포인트 클라우드 렌더러와 동일한 형식을 사용하여 렌더링할 포인트의 좌표와 색상을 포함하는 NumPy 배열입니다.
  • boxes는 세 가지 속성이 있는 Python 딕셔너리의 NumPy 배열입니다:
    • corners- 여덟 개의 모서리 목록
    • label- 박스에 렌더링할 레이블을 나타내는 문자열 (선택)
    • color- 박스의 색상을 나타내는 rgb 값
    • score - 바운딩 박스에 표시되는 숫자 값으로, 표시할 바운딩 박스를 필터링하는 데 사용할 수 있습니다(예를 들어, score > 0.75인 바운딩 박스만 표시). (선택)
  • type은 렌더링할 장면 유형을 나타내는 문자열입니다. 현재 지원되는 유일한 값은 lidar/beta입니다.
포인트 클라우드를 볼 때 control 키를 누른 상태에서 마우스를 사용하여 공간 안에서 이동할 수 있습니다.

포인트 클라우드 파일

from_file 방법을 사용하여 포인트 클라우드 데이터가 담긴 JSON 파일 전체를 불러올 수 있습니다.
포인트 클라우드 데이터의 형식을 지정하는 예시는 아래와 같습니다.

NumPy 배열

위에서 정의한 동일한 배열 형식을 사용하면 from_numpy 방법으로 numpy 배열을 직접 사용하여 포인트 클라우드를 정의할 수 있습니다.
분자 데이터는 10가지 파일 유형 중 하나로 로깅할 수 있습니다: pdb, pqr, mmcif, mcif, cif, sdf, sd, gro, mol2, mmtf. W&B는 SMILES 문자열, rdkit mol 파일, rdkit.Chem.rdchem.Mol 객체로부터 분자 데이터를 로깅하는 기능도 지원합니다.
run이 종료되면 UI에서 분자의 3D 시각화와 상호작용할 수 있습니다. AlphaFold를 사용하는 실제 예시 보기
분자 구조

PNG 이미지

wandb.Image 는 numpy 배열이나 PILImage 인스턴스를 기본적으로 PNG로 변환합니다.

비디오

비디오는 wandb.Video 데이터 유형을 사용하여 로깅합니다:
이제 미디어 브라우저에서 비디오를 볼 수 있습니다. 프로젝트 Workspace, run Workspace 또는 보고서로 이동한 후 Add visualization을 클릭하여 리치 미디어 패널을 추가하세요.

분자의 2D 뷰

wandb.Image 데이터 유형과 rdkit을 사용하여 분자의 2D 뷰를 로깅할 수 있습니다:

기타 미디어

W&B는 다양한 기타 미디어 유형의 로깅도 지원합니다.

오디오

step당 최대 100개의 오디오 클립을 로깅할 수 있습니다. 사용에 대한 자세한 내용은 audio-file을 참조하세요.

비디오

numpy 배열이 제공되면 차원은 순서대로 time, channels, width, height로 가정합니다. 기본적으로 4 fps gif 이미지를 생성합니다 (ffmpeg 및 moviepy python 라이브러리는 numpy 객체를 전달할 때 필요합니다). 지원되는 형식은 "gif", "mp4", "webm", "ogg"입니다. wandb.Video에 문자열을 전달하면 wandb에 업로드하기 전에 파일이 존재하고 지원되는 형식인지 확인합니다. BytesIO 객체를 전달하면 지정된 형식을 확장자로 하는 임시 파일을 생성합니다. W&B run 및 프로젝트 페이지에서 Media 섹션에 비디오가 표시됩니다. 자세한 사용 정보는 video-file을 참조하세요.

텍스트

wandb.Table을 사용하여 텍스트를 table에 로깅하고 UI에 표시하세요. 기본적으로 열 머리글은 ["Input", "Output", "Expected"]입니다. 최적의 UI 성능을 보장하기 위해 기본 최대 행 수는 10,000으로 설정되어 있습니다. 하지만 wandb.Table.MAX_ROWS = {DESIRED_MAX}를 사용하여 최댓값을 명시적으로 재정의할 수 있습니다.
pandas DataFrame 객체를 전달할 수도 있습니다.
자세한 사용 정보는 string을 참조하세요.

HTML

원하는 키에 맞춤형 HTML을 로깅하여 run 페이지에 HTML 패널을 표시하세요. 기본적으로 기본 스타일이 삽입되며, inject=False를 전달하여 기본 스타일을 비활성화할 수 있습니다.
자세한 사용 정보는 html-file을 참조하세요.
마지막 수정일 2026년 9월 30일