메인 콘텐츠로 건너뛰기
GitHub 소스 코드

class Image

이미지를 W&B에 로깅하는 데 사용하는 클래스입니다.

메서드 Image.__init__

__init__(
    data_or_path: 'ImageDataOrPathType',
    mode: Optional[str] = None,
    caption: Optional[str] = None,
    grouping: Optional[int] = None,
    classes: Optional[ForwardRef('Classes'), Sequence[dict]] = None,
    boxes: Optional[Dict[str, ForwardRef('BoundingBoxes2D')], Dict[str, dict]] = None,
    masks: Optional[Dict[str, ForwardRef('ImageMask')], Dict[str, dict]] = None,
    file_type: Optional[str] = None,
    normalize: bool = True
) → None
wandb.Image 객체를 초기화합니다. 이 클래스는 다양한 이미지 데이터 포맷을 처리하며, 필요할 경우 픽셀 값을 [0, 255] 범위로 자동 정규화하여 W&B 백엔드와의 호환성을 보장합니다.
  • [0, 1] 범위의 데이터는 255를 곱한 뒤 uint8로 변환됩니다
  • [-1, 1] 범위의 데이터는 -1을 0에, 1을 255에 매핑하여 [-1, 1]에서 [0, 255]로 리스케일한 뒤 uint8로 변환됩니다
  • [-1, 1] 범위를 벗어나지만 [0, 255] 범위에도 속하지 않는 데이터는 [0, 255]로 클리핑한 뒤 uint8로 변환되며, 값이 [0, 255]를 벗어나는 경우 경고가 표시됩니다
  • 이미 [0, 255] 범위에 있는 데이터는 수정 없이 uint8로 변환됩니다
Args:
  • data_or_path: 이미지 데이터에 대한 NumPy 배열/pytorch tensor, PIL 이미지 객체, 또는 이미지 파일 경로를 받습니다. NumPy 배열 또는 pytorch tensor가 제공되면 이미지 데이터는 지정된 파일 타입으로 저장됩니다. 값이 [0, 255] 범위에 있지 않거나 모든 값이 [0, 1] 범위에 있는 경우, normalizeFalse로 설정되지 않는 한 이미지 픽셀 값은 [0, 255] 범위로 정규화됩니다.
    • pytorch tensor는 (channel, height, width) 형식이어야 합니다
    • NumPy 배열은 (height, width, channel) 형식이어야 합니다
  • mode: 이미지의 PIL mode입니다. 가장 일반적인 값은 “L”, “RGB”, “RGBA”입니다.
  • Full Pillow docs for more information https: //pillow.readthedocs.io/en/stable/handbook/concepts.html#modes
  • caption: 이미지 표시용 레이블입니다.
  • grouping: 이미지에 대한 그룹 번호입니다.
  • classes: 이미지에 대한 클래스 정보를 담은 리스트로, 바운딩 박스 및 이미지 마스크에 라벨을 지정하는 데 사용됩니다.
  • boxes: 이미지에 대한 바운딩 박스 정보를 포함하는 딕셔너리입니다.
  • see https: //docs.wandb.ai/ref/python/data-types/boundingboxes2d/
  • masks: 이미지에 대한 마스크 정보를 포함하는 딕셔너리입니다.
  • see https: //docs.wandb.ai/ref/python/data-types/imagemask/
  • file_type: 이미지를 저장할 때 사용할 파일 타입입니다. data_or_path가 이미지 파일 경로인 경우에는 이 매개변수는 영향을 미치지 않습니다.
  • normalize: True인 경우, 이미지 픽셀 값을 [0, 255] 범위에 들어오도록 정규화합니다. 정규화는 data_or_path가 numpy 배열 또는 pytorch tensor인 경우에만 적용됩니다.
Examples: numpy 배열에서 wandb.Image를 생성합니다
import numpy as np
import wandb

with wandb.init() as run:
    examples = []
    for i in range(3):
         pixels = np.random.randint(low=0, high=256, size=(100, 100, 3))
         image = wandb.Image(pixels, caption=f"random field {i}")
         examples.append(image)
    run.log({"examples": examples})
PILImage 객체에서 wandb.Image를 생성합니다
import numpy as np
from PIL import Image as PILImage
import wandb

with wandb.init() as run:
    examples = []
    for i in range(3):
         pixels = np.random.randint(
             low=0, high=256, size=(100, 100, 3), dtype=np.uint8
         )
         pil_image = PILImage.fromarray(pixels, mode="RGB")
         image = wandb.Image(pil_image, caption=f"random field {i}")
         examples.append(image)
    run.log({"examples": examples})
기본값인 .png 대신 .jpg 형식으로 로그를 남깁니다
import numpy as np
import wandb

with wandb.init() as run:
    examples = []
    for i in range(3):
         pixels = np.random.randint(low=0, high=256, size=(100, 100, 3))
         image = wandb.Image(
             pixels, caption=f"random field {i}", file_type="jpg"
         )
         examples.append(image)
    run.log({"examples": examples})

property Image.image