이 섹션의 다중 페이지 출력 화면임. 여기를 클릭하여 프린트.

이 페이지의 일반 화면으로 돌아가기.

Data Types

이 모듈은 풍부하고 인터랙티브한 시각화 자료를 W&B에 로깅하기 위한 데이터 유형을 정의합니다.

데이터 유형에는 이미지, 오디오 및 비디오와 같은 일반적인 미디어 유형, 테이블 및 HTML과 같은 정보에 대한 유연한 컨테이너 등이 있습니다.

미디어 로깅에 대한 자세한 내용은 가이드를 참조하세요.

인터랙티브한 데이터셋 및 모델 분석을 위한 구조화된 데이터 로깅에 대한 자세한 내용은 W&B Tables 가이드를 참조하세요.

이러한 모든 특수 데이터 유형은 WBValue의 서브클래스입니다. 모든 데이터 유형은 JSON으로 직렬화됩니다. 이는 wandb가 오브젝트를 로컬에 저장하고 W&B 서버에 업로드하는 데 사용하는 형식이기 때문입니다.

클래스

class Audio: 오디오 클립을 위한 Wandb 클래스입니다.

class BoundingBoxes2D: W&B에 로깅하기 위해 2D 바운딩 박스 오버레이가 있는 이미지 포맷입니다.

class Graph: 그래프를 위한 Wandb 클래스입니다.

class Histogram: 히스토그램을 위한 wandb 클래스입니다.

class Html: 임의의 html을 위한 Wandb 클래스입니다.

class Image: W&B에 로깅하기 위한 이미지 포맷입니다.

class ImageMask: W&B에 로깅하기 위한 이미지 마스크 또는 오버레이 포맷입니다.

class Molecule: 3D 분자 데이터를 위한 Wandb 클래스입니다.

class Object3D: 3D 포인트 클라우드를 위한 Wandb 클래스입니다.

class Plotly: Plotly 플롯을 위한 Wandb 클래스입니다.

class Table: 테이블 형식의 데이터를 표시하고 분석하는 데 사용되는 Table 클래스입니다.

class Video: W&B에 로깅하기 위한 비디오 포맷입니다.

class WBTraceTree: 추적 트리 데이터를 위한 미디어 오브젝트입니다.

1 - Audio

오디오 클립을 위한 Wandb 클래스입니다.

Audio(
    data_or_path, sample_rate=None, caption=None
)
ARG
data_or_path (string 또는 numpy array) 오디오 파일의 경로 또는 오디오 데이터의 numpy array입니다.
sample_rate (int) 샘플 속도. 오디오 데이터의 raw numpy array를 전달할 때 필요합니다.
caption (string) 오디오와 함께 표시할 캡션입니다.

메소드 (method)

durations

View source

@classmethod
durations(
    audio_list
)

resolve_ref

View source

resolve_ref()

sample_rates

View source

@classmethod
sample_rates(
    audio_list
)

2 - BoundingBoxes2D

W&B에 로깅하기 위해 2D 바운딩 박스 오버레이로 이미지 형식을 지정합니다.

BoundingBoxes2D(
    val: dict,
    key: str
) -> None
ARG
val (사전) 다음과 같은 형태의 사전: box_data: (사전 목록) 각 바운딩 박스에 대한 사전 하나, 다음을 포함합니다: position: (사전) 바운딩 박스의 위치 및 크기 (두 가지 형식 중 하나) 상자들은 모두 동일한 형식을 사용할 필요는 없습니다. {“minX”, “minY”, “maxX”, “maxY”}: (사전) 상자의 상한 및 하한을 정의하는 좌표 집합 (좌측 하단 및 우측 상단 모서리) {“middle”, “width”, “height”}: (사전) 상자의 중심과 크기를 정의하는 좌표 집합. 여기서 “middle"은 중심점을 나타내는 목록 [x, y]이고 “width” 및 “height"는 숫자입니다. domain: (문자열) 바운딩 박스 좌표 도메인에 대한 두 가지 옵션 중 하나 null: 기본적으로 또는 인수가 전달되지 않은 경우 좌표 도메인은 원래 이미지를 기준으로 하며, 이 상자를 원래 이미지의 분수 또는 백분율로 표현합니다. 즉, “position” 인수로 전달되는 모든 좌표 및 크기는 0과 1 사이의 부동 소수점 숫자입니다. “pixel”: (문자열 리터럴) 좌표 도메인이 픽셀 공간으로 설정됩니다. 즉, “position"으로 전달되는 모든 좌표 및 크기는 이미지 크기의 범위 내에 있는 정수입니다. class_id: (정수) 이 상자에 대한 클래스 레이블 ID scores: (문자열-숫자 사전, 선택 사항) 이름이 지정된 필드를 숫자 값(float 또는 int)에 매핑합니다. 해당 필드의 값 범위에 따라 UI에서 상자를 필터링하는 데 사용할 수 있습니다. box_caption: (문자열, 선택 사항) UI에서 이 상자 위에 레이블 텍스트로 표시될 문자열입니다. 종종 클래스 레이블, 클래스 이름 및/또는 점수로 구성됩니다. class_labels: (사전, 선택 사항) 정수 클래스 레이블을 사람이 읽을 수 있는 클래스 이름에 매핑하는 맵입니다.
key (문자열) 이 바운딩 박스 세트에 대한 사람이 읽을 수 있는 이름 또는 ID (예: 예측, ground_truth)

예시:

단일 이미지에 대한 바운딩 박스 로깅

import numpy as np
import wandb

run = wandb.init()
image = np.random.randint(low=0, high=256, size=(200, 300, 3))

class_labels = {0: "person", 1: "car", 2: "road", 3: "building"}

img = wandb.Image(
    image,
    boxes={
        "predictions": {
            "box_data": [
                {
                    # 기본 상대/분수 도메인으로 표현된 상자 하나
                    "position": {
                        "minX": 0.1,
                        "maxX": 0.2,
                        "minY": 0.3,
                        "maxY": 0.4,
                    },
                    "class_id": 1,
                    "box_caption": class_labels[1],
                    "scores": {"acc": 0.2, "loss": 1.2},
                },
                {
                    # 픽셀 도메인으로 표현된 다른 상자
                    "position": {
                        "middle": [150, 20],
                        "width": 68,
                        "height": 112,
                    },
                    "domain": "pixel",
                    "class_id": 3,
                    "box_caption": "a building",
                    "scores": {"acc": 0.5, "loss": 0.7},
                },
                # 필요한 만큼 상자를 로깅합니다.
            ],
            "class_labels": class_labels,
        }
    },
)

run.log({"driving_scene": img})

테이블에 바운딩 박스 오버레이 로깅

import numpy as np
import wandb

run = wandb.init()
image = np.random.randint(low=0, high=256, size=(200, 300, 3))

class_labels = {0: "person", 1: "car", 2: "road", 3: "building"}

class_set = wandb.Classes(
    [
        {"name": "person", "id": 0},
        {"name": "car", "id": 1},
        {"name": "road", "id": 2},
        {"name": "building", "id": 3},
    ]
)

img = wandb.Image(
    image,
    boxes={
        "predictions": {
            "box_data": [
                {
                    # 기본 상대/분수 도메인으로 표현된 상자 하나
                    "position": {
                        "minX": 0.1,
                        "maxX": 0.2,
                        "minY": 0.3,
                        "maxY": 0.4,
                    },
                    "class_id": 1,
                    "box_caption": class_labels[1],
                    "scores": {"acc": 0.2, "loss": 1.2},
                },
                {
                    # 픽셀 도메인으로 표현된 다른 상자
                    "position": {
                        "middle": [150, 20],
                        "width": 68,
                        "height": 112,
                    },
                    "domain": "pixel",
                    "class_id": 3,
                    "box_caption": "a building",
                    "scores": {"acc": 0.5, "loss": 0.7},
                },
                # 필요한 만큼 상자를 로깅합니다.
            ],
            "class_labels": class_labels,
        }
    },
    classes=class_set,
)

table = wandb.Table(columns=["image"])
table.add_data(img)
run.log({"driving_scene": table})

메소드

type_name

소스 보기

@classmethod
type_name() -> str

validate

소스 보기

validate(
    val: dict
) -> bool

3 - Graph

graphs를 위한 Wandb 클래스입니다.

Graph(
    format="keras"
)

이 클래스는 일반적으로 신경망 모델을 저장하고 표시하는 데 사용됩니다. 노드와 엣지의 배열로 그래프를 나타냅니다. 노드는 wandb에서 시각화할 수 있는 레이블을 가질 수 있습니다.

예시:

keras 모델 가져오기:

Graph.from_keras(keras_model)

메소드

add_edge

소스 보기

add_edge(
    from_node, to_node
)

add_node

소스 보기

add_node(
    node=None, **node_kwargs
)

from_keras

소스 보기

@classmethod
from_keras(
    model
)

pprint

소스 보기

pprint()

__getitem__

소스 보기

__getitem__(
    nid
)

4 - Histogram

히스토그램을 위한 wandb 클래스입니다.

Histogram(
    sequence: Optional[Sequence] = None,
    np_histogram: Optional['NumpyHistogram'] = None,
    num_bins: int = 64
) -> None

이 오브젝트는 numpy의 histogram 함수와 똑같이 작동합니다. https://docs.scipy.org/doc/numpy/reference/generated/numpy.histogram.html

예시:

시퀀스에서 히스토그램 생성

wandb.Histogram([1, 2, 3])

np.histogram에서 효율적으로 초기화합니다.

hist = np.histogram(data)
wandb.Histogram(np_histogram=hist)
인자
sequence (array_like) 히스토그램을 위한 입력 데이터
np_histogram (numpy histogram) 미리 계산된 히스토그램의 대체 입력
num_bins (int) 히스토그램의 bin 개수입니다. 기본 bin 개수는 64개입니다. 최대 bin 개수는 512개입니다.
속성
bins ([float]) bin의 경계
histogram ([int]) 각 bin에 속하는 요소의 수
클래스 변수
MAX_LENGTH 512

5 - Html

임의의 HTML을 위한 Wandb 클래스입니다.

Html(
    data: Union[str, 'TextIO'],
    inject: bool = (True)
) -> None
ARG
data (문자열 또는 IO 오브젝트) wandb에 표시할 HTML
inject (부울) HTML 오브젝트에 스타일시트를 추가합니다. False로 설정하면 HTML이 변경되지 않고 전달됩니다.

메소드

inject_head

소스 보기

inject_head() -> None

6 - Image

W&B에 로깅하기 위한 이미지 형식입니다.

Image(
    data_or_path: "ImageDataOrPathType",
    mode: Optional[str] = None,
    caption: Optional[str] = None,
    grouping: Optional[int] = None,
    classes: Optional[Union['Classes', Sequence[dict]]] = None,
    boxes: Optional[Union[Dict[str, 'BoundingBoxes2D'], Dict[str, dict]]] = None,
    masks: Optional[Union[Dict[str, 'ImageMask'], Dict[str, dict]]] = None,
    file_type: Optional[str] = None
) -> None
ARG
data_or_path (numpy array, string, io) 이미지 데이터의 numpy array 또는 PIL 이미지를 허용합니다. 클래스는 데이터 형식을 추론하고 변환을 시도합니다.
mode (string) 이미지의 PIL 모드입니다. 가장 일반적인 것은 “L”, “RGB”, “RGBA"입니다. 자세한 설명은 https://pillow.readthedocs.io/en/stable/handbook/concepts.html#modes 를 참조하세요.
caption (string) 이미지 표시를 위한 레이블입니다.

참고 : torch.Tensorwandb.Image로 로깅할 때 이미지는 정규화됩니다. 이미지를 정규화하지 않으려면 텐서를 PIL Image로 변환하십시오.

예시:

numpy array에서 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})
속성

Methods

all_boxes

View source

@classmethod
all_boxes(
    images: Sequence['Image'],
    run: "LocalRun",
    run_key: str,
    step: Union[int, str]
) -> Union[List[Optional[dict]], bool]

all_captions

View source

@classmethod
all_captions(
    images: Sequence['Media']
) -> Union[bool, Sequence[Optional[str]]]

all_masks

View source

@classmethod
all_masks(
    images: Sequence['Image'],
    run: "LocalRun",
    run_key: str,
    step: Union[int, str]
) -> Union[List[Optional[dict]], bool]

guess_mode

View source

guess_mode(
    data: "np.ndarray"
) -> str

np.array가 나타내는 이미지 유형을 추측합니다.

to_uint8

View source

@classmethod
to_uint8(
    data: "np.ndarray"
) -> "np.ndarray"

이미지 데이터를 uint8로 변환합니다.

[0,1] 범위의 부동 소수점 이미지와 [0,255] 범위의 정수 이미지를 uint8로 변환하고 필요한 경우 클리핑합니다.

클래스 변수
MAX_DIMENSION 65500
MAX_ITEMS 108

7 - ImageMask

W&B에 로깅하기 위한 이미지 마스크 또는 오버레이를 포맷합니다.

ImageMask(
    val: dict,
    key: str
) -> None
ARG
val (dictionary) 이미지를 나타내는 다음 두 키 중 하나: mask_data : (2D numpy array) 이미지의 각 픽셀에 대한 정수 클래스 레이블을 포함하는 마스크 path : (string) 마스크의 저장된 이미지 파일 경로 class_labels : (정수-문자열 사전, 선택 사항) 마스크의 정수 클래스 레이블을 읽을 수 있는 클래스 이름에 매핑합니다. 기본적으로 class_0, class_1, class_2 등으로 설정됩니다.
key (string) 이 마스크 유형의 읽을 수 있는 이름 또는 ID (예: 예측값, ground_truth)

예시:

단일 마스크 이미지 로깅

import numpy as np
import wandb

run = wandb.init()
image = np.random.randint(low=0, high=256, size=(100, 100, 3), dtype=np.uint8)
predicted_mask = np.empty((100, 100), dtype=np.uint8)
ground_truth_mask = np.empty((100, 100), dtype=np.uint8)

predicted_mask[:50, :50] = 0
predicted_mask[50:, :50] = 1
predicted_mask[:50, 50:] = 2
predicted_mask[50:, 50:] = 3

ground_truth_mask[:25, :25] = 0
ground_truth_mask[25:, :25] = 1
ground_truth_mask[:25, 25:] = 2
ground_truth_mask[25:, 25:] = 3

class_labels = {0: "person", 1: "tree", 2: "car", 3: "road"}

masked_image = wandb.Image(
    image,
    masks={
        "predictions": {
            "mask_data": predicted_mask,
            "class_labels": class_labels,
        },
        "ground_truth": {
            "mask_data": ground_truth_mask,
            "class_labels": class_labels,
        },
    },
)
run.log({"img_with_masks": masked_image})

테이블 내부에 마스크된 이미지 로그

import numpy as np
import wandb

run = wandb.init()
image = np.random.randint(low=0, high=256, size=(100, 100, 3), dtype=np.uint8)
predicted_mask = np.empty((100, 100), dtype=np.uint8)
ground_truth_mask = np.empty((100, 100), dtype=np.uint8)

predicted_mask[:50, :50] = 0
predicted_mask[50:, :50] = 1
predicted_mask[:50, 50:] = 2
predicted_mask[50:, 50:] = 3

ground_truth_mask[:25, :25] = 0
ground_truth_mask[25:, :25] = 1
ground_truth_mask[:25, 25:] = 2
ground_truth_mask[25:, 25:] = 3

class_labels = {0: "person", 1: "tree", 2: "car", 3: "road"}

class_set = wandb.Classes(
    [
        {"name": "person", "id": 0},
        {"name": "tree", "id": 1},
        {"name": "car", "id": 2},
        {"name": "road", "id": 3},
    ]
)

masked_image = wandb.Image(
    image,
    masks={
        "predictions": {
            "mask_data": predicted_mask,
            "class_labels": class_labels,
        },
        "ground_truth": {
            "mask_data": ground_truth_mask,
            "class_labels": class_labels,
        },
    },
    classes=class_set,
)

table = wandb.Table(columns=["image"])
table.add_data(masked_image)
run.log({"random_field": table})

Methods

type_name

View source

@classmethod
type_name() -> str

validate

View source

validate(
    val: dict
) -> bool

8 - Molecule

3D 분자 데이터를 위한 Wandb 클래스입니다.

Molecule(
    data_or_path: Union[str, 'TextIO'],
    caption: Optional[str] = None,
    **kwargs
) -> None
ARG
data_or_path (string, io) Molecule은 파일 이름이나 io 오브젝트에서 초기화할 수 있습니다.
caption (string) 표시를 위해 분자와 연결된 캡션입니다.

Methods

from_rdkit

View source

@classmethod
from_rdkit(
    data_or_path: "RDKitDataType",
    caption: Optional[str] = None,
    convert_to_3d_and_optimize: bool = (True),
    mmff_optimize_molecule_max_iterations: int = 200
) -> "Molecule"

RDKit에서 지원하는 파일/오브젝트 유형을 wandb.Molecule로 변환합니다.

ARG
data_or_path (string, rdkit.Chem.rdchem.Mol) Molecule은 파일 이름이나 rdkit.Chem.rdchem.Mol 오브젝트에서 초기화할 수 있습니다.
caption (string) 표시를 위해 분자와 연결된 캡션입니다.
convert_to_3d_and_optimize (bool) 3D 좌표로 rdkit.Chem.rdchem.Mol로 변환합니다. 이는 복잡한 분자에 대해 시간이 오래 걸릴 수 있는 비용이 많이 드는 작업입니다.
mmff_optimize_molecule_max_iterations (int) rdkit.Chem.AllChem.MMFFOptimizeMolecule에서 사용할 반복 횟수입니다.

from_smiles

View source

@classmethod
from_smiles(
    data: str,
    caption: Optional[str] = None,
    sanitize: bool = (True),
    convert_to_3d_and_optimize: bool = (True),
    mmff_optimize_molecule_max_iterations: int = 200
) -> "Molecule"

SMILES 문자열을 wandb.Molecule로 변환합니다.

ARG
data (string) SMILES 문자열.
caption (string) 표시를 위해 분자와 연결된 캡션
sanitize (bool) 분자가 RDKit의 정의에 따라 화학적으로 합리적인지 확인합니다.
convert_to_3d_and_optimize (bool) 3D 좌표로 rdkit.Chem.rdchem.Mol로 변환합니다. 이는 복잡한 분자에 대해 시간이 오래 걸릴 수 있는 비용이 많이 드는 작업입니다.
mmff_optimize_molecule_max_iterations (int) rdkit.Chem.AllChem.MMFFOptimizeMolecule에서 사용할 반복 횟수입니다.
Class Variables
SUPPORTED_RDKIT_TYPES
SUPPORTED_TYPES

9 - Object3D

3D 포인트 클라우드를 위한 Wandb 클래스입니다.

Object3D(
    data_or_path: Union['np.ndarray', str, 'TextIO', dict],
    **kwargs
) -> None
Args
data_or_path (numpy array, string, io) Object3D는 파일 또는 numpy array에서 초기화할 수 있습니다. 파일 또는 io 오브젝트에 대한 경로와 SUPPORTED_TYPES 중 하나여야 하는 file_type을 전달할 수 있습니다.

numpy array의 모양은 다음 중 하나여야 합니다.

[[x y z],       ...] nx3
[[x y z c],     ...] nx4 여기서 c는 지원되는 범위 [1, 14]의 카테고리입니다.
[[x y z r g b], ...] nx6 여기서 rgb는 색상입니다.

Methods

from_file

View source

@classmethod
from_file(
    data_or_path: Union['TextIO', str],
    file_type: Optional['FileFormat3D'] = None
) -> "Object3D"

파일 또는 스트림에서 Object3D를 초기화합니다.

Args
data_or_path (Union[“TextIO”, str]): 파일 또는 TextIO 스트림에 대한 경로입니다. file_type (str): data_or_path에 전달된 데이터 형식을 지정합니다. data_or_pathTextIO 스트림인 경우 필수입니다. 파일 경로가 제공되면 이 파라미터는 무시됩니다. 유형은 파일 확장명에서 가져옵니다.

from_numpy

View source

@classmethod
from_numpy(
    data: "np.ndarray"
) -> "Object3D"

numpy array에서 Object3D를 초기화합니다.

Args
data (numpy array): array의 각 항목은 포인트 클라우드의 한 점을 나타냅니다.

numpy array의 모양은 다음 중 하나여야 합니다.

[[x y z],       ...]  # nx3.
[[x y z c],     ...]  # nx4 여기서 c는 지원되는 범위 [1, 14]의 카테고리입니다.
[[x y z r g b], ...]  # nx6 여기서 rgb는 색상입니다.

from_point_cloud

View source

@classmethod
from_point_cloud(
    points: Sequence['Point'],
    boxes: Sequence['Box3D'],
    vectors: Optional[Sequence['Vector3D']] = None,
    point_cloud_type: "PointCloudType" = "lidar/beta"
) -> "Object3D"

python 오브젝트에서 Object3D를 초기화합니다.

Args
points (Sequence[“Point”]): 포인트 클라우드의 점입니다. boxes (Sequence[“Box3D”]): 포인트 클라우드를 레이블링하기 위한 3D 경계 상자입니다. 상자는 포인트 클라우드 시각화에 표시됩니다. vectors (Optional[Sequence[“Vector3D”]]): 각 벡터는 포인트 클라우드 시각화에 표시됩니다. 경계 상자의 방향성을 나타내는 데 사용할 수 있습니다. 기본값은 None입니다. point_cloud_type (“lidar/beta”): 현재 “lidar/beta” 유형만 지원됩니다. 기본값은 “lidar/beta"입니다.
Class Variables
SUPPORTED_POINT_CLOUD_TYPES
SUPPORTED_TYPES

10 - Plotly

plotly plot을 위한 Wandb 클래스입니다.

Plotly(
    val: Union['plotly.Figure', 'matplotlib.artist.Artist']
)
ARG
val matplotlib 또는 plotly figure

메소드

make_plot_media

View source

@classmethod
make_plot_media(
    val: Union['plotly.Figure', 'matplotlib.artist.Artist']
) -> Union[Image, 'Plotly']

11 - Table

표 형식의 데이터를 표시하고 분석하는 데 사용되는 Table 클래스입니다.

Table(
    columns=None, data=None, rows=None, dataframe=None, dtype=None, optional=(True),
    allow_mixed_types=(False)
)

기존 스프레드시트와 달리 Tables는 다양한 유형의 데이터를 지원합니다. 스칼라 값, 문자열, numpy 배열 및 wandb.data_types.Media의 대부분의 서브클래스가 해당됩니다. 즉, 다른 기존 스칼라 값과 함께 Images, Video, Audio 및 기타 종류의 풍부하고 주석이 달린 미디어를 Tables에 직접 포함할 수 있습니다.

이 클래스는 UI에서 Table Visualizer를 생성하는 데 사용되는 기본 클래스입니다. https://docs.wandb.ai/guides/data-vis/tables를 참조하세요.

인수
columns (List[str]) 테이블의 열 이름입니다. 기본값은 [“Input”, “Output”, “Expected”]입니다.
data (List[List[any]]) 값의 2D 행 중심 배열입니다.
dataframe (pandas.DataFrame) 테이블을 만드는 데 사용되는 DataFrame 오브젝트입니다. 설정되면 datacolumns 인수는 무시됩니다.
optional (Union[bool,List[bool]]) None 값이 허용되는지 여부를 결정합니다. 기본값은 True입니다. 단일 bool 값인 경우 구성 시 지정된 모든 열에 대해 선택 사항이 적용됩니다. bool 값 목록인 경우 각 열에 선택 사항이 적용됩니다. columns와 길이가 같아야 합니다. 모든 열에 적용됩니다. bool 값 목록은 각 해당 열에 적용됩니다.
allow_mixed_types (bool) 열에 혼합된 유형을 허용할지 여부를 결정합니다(유형 유효성 검사 비활성화). 기본값은 False입니다.

Methods

add_column

View source

add_column(
    name, data, optional=(False)
)

테이블에 데이터 열을 추가합니다.

인수
name (str) - 열의 고유한 이름
data (list
optional (bool) - null과 유사한 값이 허용되는지 여부

add_computed_columns

View source

add_computed_columns(
    fn
)

기존 데이터를 기반으로 하나 이상의 계산된 열을 추가합니다.

인수
fn 하나 또는 두 개의 파라미터, ndx (int) 및 row (dict)를 허용하는 함수입니다. 여기서 ndx는 행의 인덱스를 나타내는 정수입니다. include_ndxTrue로 설정된 경우에만 포함됩니다. row는 기존 열을 키로 사용하는 사전입니다. 이 함수는 해당 행에 대한 새 열을 나타내는 사전을 반환해야 합니다(새 열 이름을 키로 사용).

add_data

View source

add_data(
    *data
)

테이블에 새 데이터 행을 추가합니다. 테이블의 최대 행 수는 wandb.Table.MAX_ARTIFACT_ROWS에 의해 결정됩니다.

데이터 길이는 테이블 열의 길이와 일치해야 합니다.

add_row

View source

add_row(
    *row
)

더 이상 사용되지 않습니다. 대신 add_data를 사용하세요.

cast

View source

cast(
    col_name, dtype, optional=(False)
)

열을 특정 데이터 유형으로 캐스팅합니다.

이는 일반 Python 클래스, 내부 W&B 유형 또는 wandb.Image 또는 wandb.Classes의 인스턴스와 같은 예제 오브젝트 중 하나일 수 있습니다.

인수
col_name (str) - 캐스팅할 열의 이름입니다.
dtype (class, wandb.wandb_sdk.interface._dtypes.Type, any) - 대상 dtype입니다.
optional (bool) - 열에서 None을 허용해야 하는지 여부입니다.

get_column

View source

get_column(
    name, convert_to=None
)

테이블에서 열을 검색하고 선택적으로 NumPy 오브젝트로 변환합니다.

인수
name (str) - 열의 이름
convert_to (str, optional) - “numpy”: 기본 데이터를 numpy 오브젝트로 변환합니다.

get_dataframe

View source

get_dataframe()

테이블의 pandas.DataFrame을 반환합니다.

get_index

View source

get_index()

다른 테이블에서 링크를 만드는 데 사용할 행 인덱스 배열을 반환합니다.

index_ref

View source

index_ref(
    index
)

테이블에서 행의 인덱스에 대한 참조를 가져옵니다.

iterrows

View source

iterrows()

행의 인덱스 및 관련 데이터를 표시하여 테이블 데이터를 행별로 반환합니다.

Yields

index : int 행의 인덱스입니다. 다른 W&B 테이블에서 이 값을 사용하면 테이블 간에 관계가 자동으로 구축됩니다. row : List[any] 행의 데이터입니다.

set_fk

View source

set_fk(
    col_name, table, table_col
)

set_pk

View source

set_pk(
    col_name
)
Class Variables
MAX_ARTIFACT_ROWS 200000
MAX_ROWS 10000

12 - Video

W&B에 로깅하기 위한 비디오 포맷입니다.

Video(
    data_or_path: Union['np.ndarray', str, 'TextIO', 'BytesIO'],
    caption: Optional[str] = None,
    fps: Optional[int] = None,
    format: Optional[str] = None
)
Args
data_or_path (numpy array, string, io) 비디오는 파일 경로 또는 io 오브젝트로 초기화할 수 있습니다. 포맷은 “gif”, “mp4”, “webm” 또는 “ogg"이어야 합니다. 포맷은 format 인수로 지정해야 합니다. 비디오는 numpy 텐서로 초기화할 수 있습니다. numpy 텐서는 4차원 또는 5차원이어야 합니다. 채널은 (시간, 채널, 높이, 너비) 또는 (배치, 시간, 채널, 높이, 너비)여야 합니다.
caption (string) 표시에 사용될 비디오와 관련된 캡션입니다.
fps (int) 원시 비디오 프레임을 인코딩할 때 사용할 프레임 속도입니다. 기본값은 4입니다. 이 파라미터는 data_or_path가 string 또는 bytes인 경우 영향을 미치지 않습니다.
format (string) 비디오 포맷입니다. 경로 또는 io 오브젝트로 초기화하는 경우 필요합니다.

Examples:

numpy array를 비디오로 로그합니다.

import numpy as np
import wandb

run = wandb.init()
# axes are (time, channel, height, width)
frames = np.random.randint(low=0, high=256, size=(10, 3, 100, 100), dtype=np.uint8)
run.log({"video": wandb.Video(frames, fps=4)})

Methods

encode

View source

encode(
    fps: int = 4
) -> None
Class Variables
EXTS

13 - WBTraceTree

trace tree 데이터를 위한 미디어 오브젝트.

WBTraceTree(
    root_span: Span,
    model_dict: typing.Optional[dict] = None
)
ARG
root_span (Span): trace tree의 루트 Span입니다. model_dict (dict, optional): 모델 덤프를 포함하는 사전입니다. 참고: model_dict는 완전히 사용자 정의된 dict입니다. UI는 이 dict에 대한 JSON 뷰어를 렌더링하며 _kind 키가 있는 사전을 특별히 처리합니다. 이는 모델 공급업체가 매우 다른 직렬화 형식을 가지고 있기 때문에 여기에서 유연해야 하기 때문입니다.