CSV 파일을 테이블로 로깅하기
"""
CSV 파일을 W&B에 table로 기록합니다.
다음 항목을 실제 값으로 교체하세요:
- 꺾쇠 괄호로 묶인 값
- pd.read_csv()의 <name>.csv를 실제 CSV 파일 이름으로
"""
import wandb
import pandas as pd
# CSV를 데이터프레임 객체로 읽기 (pandas)
dataframe = pd.read_csv("<name>.csv")
# 데이터프레임을 W&B Table로 변환
table = wandb.Table(dataframe=dataframe)
# 데이터를 기록하기 위해 W&B run 시작
with wandb.init(project="<project>") as run:
# W&B UI에서 시각화할 수 있도록 table 기록
run.log({"<table_name>": table})
맞춤형 summary metric 로깅
"""
W&B에 맞춤형 summary 지표를 기록합니다.
"""
import wandb
import random
with wandb.init(project="<project>") as run:
# 1에서 10 사이의 임의 정수 값으로 맞춤형 summary 지표를 기록합니다
run.summary["<metric_name>"] = random.randint(1, 10)
맞춤형 summary 메트릭 로깅
"""
W&B에 맞춤형 summary 메트릭을 기록합니다.
다음을 교체하세요:
- 꺾쇠 괄호로 묶인 값을 실제 값으로 교체
- run.define_metric()의 <summary_function_a>와 <summary_function_b>를
"max", "min", "last", "mean", "best", "none" 중 하나로 교체
"""
import wandb
import random
with wandb.init() as run:
# metric_name_a에 대한 summary_function_a 및 summary_function_b summary 값
run.define_metric(name="<metric_name_a>", summary="<summary_function_a>")
run.define_metric(name="<metric_name_a>", summary="<summary_function_b>")
for i in range(10):
log_dict = {
"metric_name_a": random.uniform(0, 1 / (i + 1)),
}
run.log(log_dict)
레지스트리 컬렉션에서 기존 artifact를 다운로드하고 로깅하기
"""
W&B 레지스트리 컬렉션에서 기존 artifact를 다운로드하고 로그합니다.
플레이스홀더를 실제 레지스트리, 컬렉션 이름, entity,
프로젝트, 버전으로 교체하세요.
"""
import wandb
# 버전을 포함한 전체 artifact 이름 구성
registry_name = "<registry_name>" # 레지스트리 이름 지정
collection_name = "<collection_name>" # 컬렉션 이름 지정
version = 0 # 사용할 artifact 버전 지정
artifact_name_registry = f"wandb-registry-{registry_name}/{collection_name}:v{version}"
# 다른 팀 및 프로젝트에서 W&B run 초기화
with wandb.init(entity="<entity>", project="<project>") as run:
# 레지스트리에서 모델 artifact 사용
registry_model = run.use_artifact(artifact_or_name=artifact_name_registry)
# 모델을 로컬 디렉토리에 다운로드
local_model_path = registry_model.download()
히스토그램 플롯 로깅하기
"""
W&B에 히스토그램 플롯을 로그합니다.
다음을 교체하세요:
- 꺾쇠 괄호로 묶인 값을 본인의 값으로 교체
- wandb.Table(data=)의 [[1, 2], [2, 3]]을 플롯할 본인의 2D 행 기반 배열로 교체
data에 2D 행 기반 배열을 전달하고(wandb.Table(data=)),
`columns` 파라미터에 열 이름을 지정합니다.
"""
import wandb
# 새 run 시작
with wandb.init(entity="<entity>", project="<project>") as run:
# 플롯할 열이 포함된 테이블 생성
table = wandb.Table(data=[[1, 2], [2, 3]] , columns=["<a_column>", "<b_column>"])
# 테이블을 사용하여 다양한 맞춤형 차트 채우기
histogram = wandb.plot.histogram(table, value='<b_column>', title='Histogram')
# 맞춤형 테이블을 로그합니다. UI의 맞춤형 차트에 표시됩니다.
run.log({'histogram_1': histogram})
run을 초기화하고 하이퍼파라미터를 로깅합니다
"""W&B run을 초기화하고 하이퍼파라미터를 기록합니다."""
import wandb
config = {
"learning_rate": 0.01,
"batch_size": 32,
"optimizer": "adam",
}
with wandb.init(project="<project>", config=config) as run:
# 트레이닝 및 로깅 코드를 여기에 작성하세요
pass
선형 플롯 로깅하기
"""
W&B에 선형 플롯을 로그합니다.
다음 항목을 교체하세요:
- 꺾쇠 괄호로 묶인 값을 본인의 값으로 교체
- wandb.Table(data=)의 [[1, 2], [2, 3]]을 플롯할 본인의 2D 행 기반 배열로 교체
data에 2D 행 기반 배열을 전달하고(wandb.Table(data=)),
`columns` 파라미터에 열 이름을 지정하세요.
열 이름은 `wandb.plot.line()` 플로팅 함수의 x 및 y 파라미터와 일치해야 합니다.
"""
import wandb
# 새 run 시작
with wandb.init(entity="<entity>", project="<project>") as run:
# 플롯할 열이 포함된 테이블 생성
table = wandb.Table(data=[[1, 2], [2, 3]], columns=["<column_a>", "<column_b>"])
# 테이블을 사용하여 다양한 맞춤형 차트 채우기
line_plot = wandb.plot.line(table, x='<column_a>', y='<column_b>', title='<title>')
# 맞춤형 테이블을 로그하면 UI의 맞춤형 차트에 표시됩니다
run.log({'<line_plot>': line_plot})
run을 초기화하고 메트릭을 로깅합니다
"""W&B run을 초기화하고 메트릭을 로깅합니다."""
import wandb
with wandb.init(project="<project>") as run:
# 트레이닝 및 로깅 코드를 여기에 작성하세요
# 메트릭 로깅 예시
run.log({"accuracy": 0.95})
산점도 로깅하기
"""
W&B에 산점도를 로그합니다.
다음을 교체하세요:
- 꺾쇠 괄호로 묶인 값을 본인의 값으로 교체
- wandb.Table(data=)의 [[1, 2], [2, 3]]을 플롯할 본인의 2D 행 기반 배열로 교체
data(wandb.Table(data=))에 2D 행 기반 배열을 전달하고,
`columns` 파라미터에 열 이름을 지정하세요.
열 이름은 `wandb.plot.scatter()` 플롯 함수의 x 및 y 파라미터와 일치해야 합니다.
"""
import wandb
# 새 run 시작
with wandb.init(entity="<entity>", project="<project>") as run:
# 플롯할 열이 포함된 테이블 생성
table = wandb.Table(data=[[1, 2], [2, 3]], columns=["<a_column>", "<b_column>"])
# 테이블을 사용하여 다양한 맞춤형 차트 채우기
scatter = wandb.plot.scatter(table, x='<a_column>', y='<b_column>', title='<title>')
# 맞춤형 테이블을 로그하면 UI의 맞춤형 차트에 표시됩니다
run.log({'scatter_1': scatter})
Summary 메트릭을 명시적으로 로깅하기
"""
W&B에 summary 지표를 명시적으로 기록합니다.
"""
import wandb
import random
with wandb.init(project="<project>") as run:
# 1에서 10 사이의 임의 정수 값으로 맞춤형 summary 지표를 기록합니다
run.summary["<metric_name>"] = random.randint(1, 10)
테이블 로깅하기
"""
Log a table to W&B.
Replace:
- values enclosed in angle brackets with your own
- [[1, 2], [2, 3]] in wandb.Table(data=) with your own 2D row-oriented array of values to log
"""
import wandb
# 두 개의 column과 두 행의 데이터로 table 객체 생성
my_table = wandb.Table(
columns=["<a_column>", "<b_column>"],
data=[[1, 2], [2, 3]],
log_mode="<log_mode>"
)
# 새 run 시작
with wandb.init(entity="<entity>", project="<project>") as run:
# W&B에 table log
run.log({"<table_name>": my_table})