
Embedding 예시
Hello World
W&B를 사용하면wandb.Table 클래스를 사용하여 embeddings를 로그할 수 있습니다. 각각 5개의 차원으로 구성된 3개의 embeddings 예시를 살펴보겠습니다:
2D Projection 을 선택하여 embeddings를 2차원으로 시각화할 수 있습니다. 스마트 기본값이 자동으로 선택되며, 기어 아이콘을 클릭하여 액세스하는 설정 메뉴에서 이를 쉽게 변경할 수 있습니다. 이 예시에서는 사용 가능한 5개의 숫자 차원을 모두 자동으로 사용합니다.

Digits MNIST
위의 예시는 embeddings를 로그하는 기본적인 메커니즘을 보여주지만, 일반적으로는 훨씬 더 많은 차원과 샘플을 다루게 됩니다. SciKit-Learn 을 통해 제공되는 MNIST Digits 데이터셋(UCI ML 수기 숫자 데이터셋)을 살펴보겠습니다. 이 데이터셋은 1797개의 레코드를 가지고 있으며, 각각 64개의 차원을 가집니다. 이 문제는 10개 클래스 분류 유스 케이스입니다. 시각화를 위해 입력 데이터를 이미지로 변환할 수도 있습니다.2D Projection 을 선택하면 embedding의 정의, 색상 지정, 알고리즘(PCA, UMAP, t-SNE), 알고리즘 파라미터, 그리고 오버레이(이 경우 점 위에 마우스를 올리면 이미지를 표시)를 설정할 수 있습니다. 이 특정 사례에서는 이 모든 것이 “스마트 기본값”으로 설정되어 있어, 2D Projection 을 한 번만 클릭해도 매우 유사한 결과를 볼 수 있습니다. (이 embedding 튜토리얼 예시를 직접 확인해 보세요).

로그 옵션
다양한 형식으로 embeddings를 로그할 수 있습니다:- 단일 Embedding 컬럼: 데이터가 이미 “행렬”과 같은 형식인 경우가 많습니다. 이 경우 단일 embedding 컬럼을 생성할 수 있으며, 셀 값의 데이터 타입은
list[int],list[float]또는np.ndarray가 될 수 있습니다. - 다중 숫자 컬럼: 위의 두 예시에서는 이 방식을 사용하여 각 차원에 대해 컬럼을 생성했습니다. 현재 셀 값으로 파이썬
int또는float을 허용합니다.


wandb.Table(dataframe=df)를 사용하여 데이터프레임에서 직접 생성wandb.Table(data=[...], columns=[...])를 사용하여 데이터 리스트에서 직접 생성- 행 단위로 점진적으로 테이블 빌드(코드에 루프가 있는 경우 유용).
table.add_data(...)를 사용하여 테이블에 행 추가 - 테이블에 embedding 컬럼 추가(embeddings 형태의 예측값 리스트가 있는 경우 유용):
table.add_col("col_name", ...) - 계산된 컬럼 추가(테이블에 매핑하려는 함수나 모델이 있는 경우 유용):
table.add_computed_columns(lambda row, ndx: {"embedding": model.predict(row)})
시각화 옵션
2D Projection 을 선택한 후, 기어 아이콘을 클릭하여 렌더링 설정을 편집할 수 있습니다. 대상 컬럼을 선택하는 것(위 내용 참조) 외에도, 원하는 알고리즘(및 해당 파라미터)을 선택할 수 있습니다. 아래에서 UMAP과 t-SNE의 파라미터를 각각 확인할 수 있습니다.


참고: 현재 세 가지 알고리즘 모두에 대해 무작위 서브셋인 1000개의 행과 50개의 차원으로 다운샘플링합니다.