
Embedding 예시
직접 사용해 보기 전에 Embedding Projector가 실제로 작동하는 모습을 보여주는 다음 리소스를 확인하세요:첫 예제
이 최소 예시는 Embedding을 로깅하고 프로젝터에서 확인하는 데 필요한 최소한의 코드를 보여줍니다. W&B에서는wandb.Table 클래스를 사용하여 Embedding을 로깅할 수 있습니다. 각각 5개 차원으로 구성된 Embedding 3개의 다음 예시를 살펴보세요:

Digits MNIST
다음 예시는 더 높은 차원의 데이터와 더 풍부한 오버레이를 사용하는 현실적인 워크플로를 보여줍니다. 앞선 예시에서는 Embedding을 로깅하는 기본 원리를 보여주었지만, 일반적으로는 훨씬 더 많은 차원과 샘플을 다룹니다. SciKit-Learn을 통해 사용할 수 있는 MNIST Digits 데이터셋(UCI ML 손글씨 숫자 데이터셋)을 살펴보겠습니다. 이 데이터셋에는 각각 64차원으로 이루어진 레코드 1,797개가 있습니다. 이 문제는 10개 클래스로 분류하는 사용 사례입니다. 시각화를 위해 입력 데이터를 이미지로 변환할 수도 있습니다.
로깅 옵션
다음 섹션에서는 Embedding 데이터를 W&B에 로깅할 때 지원되는 데이터 구성 방식을 설명합니다. Embedding은 여러 형식으로 로깅할 수 있습니다.- 단일 Embedding 열: 데이터가 이미 행렬과 유사한 형식인 경우가 많습니다. 이 경우 단일 Embedding 열을 만들 수 있으며, 셀 값의 데이터 유형은
list[int],list[float]또는np.ndarray일 수 있습니다. - 여러 숫자 열: 앞의 두 예시는 이 방식을 사용하여 각 차원마다 열을 만듭니다. W&B는 셀 값으로 Python
int또는float를 허용합니다.


wandb.Table(dataframe=df)를 사용하여 데이터프레임에서 직접 구성합니다.wandb.Table(data=[...], columns=[...])를 사용하여 데이터 목록에서 직접 구성합니다.- table을 한 행씩 점진적으로 구축합니다(코드에 루프가 있는 경우에 적합).
table.add_data(...)를 사용하여 table에 행을 추가하세요. - table에 Embedding 열을 추가합니다(Embedding 형태의 예측 목록이 있는 경우에 적합):
table.add_col("col_name", ...). - 계산된 열을 추가합니다(table에 매핑하려는 함수나 모델이 있는 경우에 적합):
table.add_computed_columns(lambda row, ndx: {"embedding": model.predict(row)}).
Plotting options
Embedding을 로깅한 후, 투영 및 렌더링 방식을 조정할 수 있습니다. 2D Projection을 선택한 후, 톱니바퀴 아이콘을 클릭하여 렌더링 설정을 편집하세요. 원하는 열을 선택하는 것(이전 섹션 참조) 외에도, 관심 있는 알고리즘과 원하는 매개변수를 선택할 수 있습니다. 다음 이미지는 UMAP과 t-SNE의 매개변수를 보여줍니다.

W&B는 세 가지 알고리즘 모두에 대해 1,000행과 50차원으로 구성된 무작위 부분집합으로 다운샘플링합니다.