Weights & Biases와 함께 TensorBoard에서 모델 시각화하기
이 글은 Weights & Biases를 사용해 TensorBoard에서 모델을 시각화하는 방법을 보여 주며, FashionMNIST 데이터셋을 활용한 예시를 제공합니다. 이 글은 AI가 번역한 기사입니다. 오역이 의심되는 부분이 있으면 댓글로 알려 주세요.
Created on September 15|Last edited on September 15
Comment
TensorBoard 은 머신러닝 모델을 시각화하기 위한 도구입니다. TensorBoard는 깔끔한 웹 인터페이스를 통해 모델 성능 지표, 파라미터, 연산 그래프(그리고 그 외 다양한 항목)까지 기록하고 확인할 수 있게 해줍니다.
이 글에서는 Weights & Biases를 사용해 온라인에서 TensorBoard 인스턴스를 띄우고 호스팅하는 방법을 알아봅니다. 마지막에는 시각화를 통해 혼동 행렬 TensorBoard에서.

모델
TensorBoard를 사용하려면 먼저 모델이 필요하며, 가급적이면 TensorBoard와 쉽게 호환되는 모델이면 좋습니다. tf.keras 콜백으로 TensorBoard를 연결하기가 훨씬 쉬워집니다. 어떻게 하는지는 곧 살펴보겠습니다. 그에 앞서, 아주 간단한 모델을 만들어 학습시키고, TensorBoard 인스턴스에 채워 넣을 데이터를 먼저 준비해 보겠습니다.
다음과 같이 빠르게 만들 수 있습니다:
model = Sequential()model.add(Conv2D(16, (5, 5), activation='relu',input_shape=(28, 28, 1)))model.add(MaxPooling2D(pool_size=(2, 2)))model.add(Conv2D(32, (5, 5), activation='relu'))model.add(MaxPooling2D(pool_size=(2, 2)))model.add(Dropout(0.2))model.add(Flatten())model.add(Dense(128, activation='relu'))model.add(Dense(10, activation='softmax'))We will be using the good old FashionMNIST dataset for training this model. Below is a sneak peek of the dataset in case you have not worked with the dataset before:
데이터셋

데이터셋은 다양한 의류 이미지로 구성되어 있으며, 각 이미지는 28×28 픽셀입니다. 이미지는 그레이스케일입니다. 이 데이터셋은 tf.keras.datasets에 포함되어 있습니다. 먼저 데이터를 로드한 뒤, 픽셀 값을 [0, 1] 범위로 정규화하겠습니다.
# Load and preprocess the data(X_train, y_train), (X_test, y_test) = fashion_mnist.load_data()X_train /= 255.X_test /= 255.
이제 모델을 설정하고 모델에 입력할 데이터를 준비했으니, 모델 학습 단계로 넘어가겠습니다.
먼저 W&B를 다음과 같이 초기화해야 합니다 sync_tensorboard = True 호스팅된 TensorBoard 환경의 이벤트 파일을 동기화하기 위해서입니다.
wandb.init(project="your-project-name", sync_tensorboard=True)
이제 모델 학습 단계에서는 적절한 설정으로 TensorBoard 콜백만 전달하면 됩니다 log_dir 인자입니다. 이 경우 해당 값은 wandb.run.dir이어야 합니다.
model.fit(X_train, y_train, validation_data=(X_test, y_test), epochs=config.epochs,callbacks=[WandbCallback(data_type="image", labels=labels), TensorBoard(log_dir=wandb.run.dir)])
모델 학습 단계를 실행하면, W&B 실행 페이지에서 (다음과 같이 표시됩니다) app.wandb.ai/<username>/<project-name>/runs/<run-name>)이 표시됩니다. TensorBoard를 확인할 수 있습니다.
라이브 TensorBoard 살펴보기 →

우리는 다음을 기록할 수 있습니다 혼동 행렬 TensorBoard 인스턴스에서 에포크별로 우리 모델의 혼동 행렬을 기록할 수 있습니다. 혼동 행렬은 모델을 이해하는 데 도움을 줍니다. 예를 들어, 모델이 어디서 오답을 내는지, 어떤 클래스에서 가장 어려움을 겪는지를 살펴볼 수 있습니다. 이는 특히 모델 학습 중에 유용한데, 학습을 통해 예측 성능이 실제로 향상되고 있는지에 대한 통찰을 제공하기 때문입니다.
라이브 혼동 행렬 살펴보기 →
(클릭하여 Images 혼동 행렬을 확인합니다.)

이 글은 여기까지입니다! TensorBoard와 Weights & Biases를 통해 여러분이 만든 흥미로운 모델 시각화를 볼 날이 기다려집니다.
직접 TensorBoard를 사용해 보세요 →
Add a comment