TensorBoard 정보

7566 단어 TensorFlowTensorboard

Tensorboard 정보



소개



지난번 에 계속해서 기계 학습에 있어서의 시각화에 관한 것으로 Tensorboard 에 대해 조사했으므로 정리해 보았습니다.

Tensorboard란 무엇입니까?



TensorFlow를 사용하여 학습할 때 계산 과정과 계산도 나오는 것을 시각화할 수 있도록 하는 것입니다.

Tensorboard를 사용하는 이점



학습 과정을 시각화할 수 있으므로 학습을 성공적으로 수행했는지 확인할 수 있습니다. 또한 하이퍼파라미터의 조정에도 도움이 됩니다.
무엇보다 스스로 각 에포크마다 정답율등의 수치를 기록해 그래프로 해......등이라고 하는 작업을 하지 않아도 됩니다.

Tensorboard 사용



기본적으로 GoogleColaboratory에서 작동하는 방법을 설명합니다.
코드는 공식 의 것을 사용합니다.

먼저 Tensorboard를 사용하기 위해 다음 명령을 실행합니다.
%load_ext tensorboard

그런 다음 가장 간단한 mnist 데이터 세트를 사용하여 Tensorboard를 사용합니다.
Keras model.fit()을 사용하여 학습하기 전에
tf.keras.callbacks.Tensorboard
에서 콜백 함수를 설정하여 로그를 기록합니다.

main.py
import tensorflow as tf
import datetime

mnist = tf.keras.datasets.mnist

(x_train, y_train), (x_test, y_test) = mnist.load_data()
x_train, x_test = x_train / 255.0, x_test / 255.0

def create_model():
    return tf.keras.models.Sequential([
        tf.keras.layers.Flatten(input_shape=(28,28)),
        tf.keras.layers.Dense(512, activation='relu'),
        tf.keras.layers.Dropout(0.2),
        tf.keras.layers.Dense(10,activation='softmax')
    ])

    model = create_model()
model.compile(optimizer='adam',
              loss='sparse_categorical_crossentropy',
              metrics=['accuracy'])

log_dir = "logs/fit/" + datetime.datetime.now().strftime("%Y%m%d-%H%M%S")
tensorboard_callback = tf.keras.callbacks.TensorBoard(log_dir=log_dir, histogram_freq=1)

model.fit(x=x_train,
          y=y_train,
          epochs=5,
          validation_data=(x_test, y_test),
          callbacks=[tensorboard_callback])

학습이 끝나면
%tensorboard --logdir logs/fit

을 실행합니다.

그러면 아래 이미지와 같은 것이 표시된다고 생각합니다.
GoogleColaboratory에서 실행하면 약간의 시간이 걸릴 수 있습니다.



Scalars는 에포크 당 손실과 메트릭 변화를 그래프로 보여줍니다. 제대로 학습할 수 있는지 여부를 볼 수 있습니다.


Histograms는 신경망의 각 레이어가 그라디언트 사라졌는지 등을 확인할 수 있습니다.


그 외에도 학습에 사용한 이미지를 표시하여 올바른 훈련 데이터를 사용하는지 확인하거나 그래프에서 모델이 올바르게 설계되었는지를 볼 수 있습니다.

사이고에게



지난번에 계속해서 기계 학습에 있어서의 시각화에 대해서 다루었습니다.

지금까지 Tensorflow를 사용하는 것은 많았지만 Tensorboard에 대해서는 전혀 몰랐습니다.
아주 적은 설명만으로 매우 편리해지므로 사용하지 않는 손은 없다고 생각합니다.

생각했던 것보다 기계 학습의 과제인 블랙박스화에 대해서 대책이 강구되고 있는 것을 알고 공부가 되었습니다.

좋은 웹페이지 즐겨찾기