
WandbEvalCallback을 소개합니다.
설정 및 설치
먼저 최신 버전의 W&B를 설치합니다. 그런 다음 이 Colab 인스턴스가 W&B를 사용할 수 있도록 인증을 진행합니다.wandb.login() 실행 후 나타나는 링크를 통해 가입/로그인 페이지로 이동할 수 있습니다. 무료 계정 가입은 클릭 몇 번으로 간단히 완료됩니다.
하이퍼파라미터
재현 가능한 기계학습을 위해 적절한 설정(config) 시스템을 사용하는 것이 권장되는 모범 사례입니다. W&B를 사용하여 모든 실험의 하이퍼파라미터를 트래킹할 수 있습니다. 이 Colab에서는 간단한 Pythondict를 설정 시스템으로 사용합니다.
데이터셋
이 Colab에서는 TensorFlow 데이터셋 카탈로그의 Fashion-MNIST 데이터셋을 사용합니다. TensorFlow/Keras를 사용하여 간단한 이미지 분류 파이프라인을 구축하는 것이 목표입니다.모델
모델 컴파일
WandbEvalCallback
WandbEvalCallback은 주로 모델 예측 시각화와 부수적으로 데이터셋 시각화를 위한 Keras 콜백을 구축하기 위한 추상 기본 클래스입니다.
이것은 데이터셋과 태스크에 구애받지 않는 추상 콜백입니다. 이를 사용하려면 이 기본 콜백 클래스를 상속받아 add_ground_truth와 add_model_prediction 메소드를 구현하세요.
WandbEvalCallback은 다음과 같은 유용한 메소드를 제공하는 유틸리티 클래스입니다:
- 데이터 및 예측
wandb.Table인스턴스 생성 - 데이터 및 예측 Table을
wandb.Artifact로 로그 on_train_begin시점에 데이터 테이블 로그on_epoch_end시점에 예측 테이블 로그
WandbClfEvalCallback을 구현했습니다. 이 예시 콜백은 다음과 같이 작동합니다:
- 검증 데이터(
data_table)를 W&B에 로그합니다. - 추론을 수행하고 매 에포크가 끝날 때마다 예측 결과(
pred_table)를 W&B에 로그합니다.
메모리 사용량을 줄이는 방법
on_train_begin 메소드가 호출될 때 data_table을 W&B에 로그합니다. W&B Artifact로 업로드되면 data_table_ref 클래스 변수를 통해 이 테이블에 대한 참조를 얻을 수 있습니다. data_table_ref는 2차원 리스트로, self.data_table_ref[idx][n]과 같이 인덱싱할 수 있습니다. 여기서 idx는 행 번호이고 n은 열 번호입니다. 아래 예시에서 사용법을 확인해 보세요.