티스토리 뷰

반응형

이번 글은 딥러닝을 실행할 때 오차나 정확도가 어떻게 얼마나 감소하고 증가하는지를 시각적인 그래프로 확인하기 위한 방법을 설명한다.
이는 딥러닝 모델을 수행할 tensorboard callback 함수를 사용하는 것이다.

그럼 기본적인 딥러닝모델을 이용해서 설명한다.

1.  딥러닝 패키지 불러오기

import tensorflow as tf
import datetime


2. 토이 데이터인 mnist 패션이미지 데이터 불러오기

 

mnist = tf.keras.datasets.mnist

3. 학습데이터와 검증데이터로 분리하고 학습데이터와 평가 데이터를 표준화하기

 

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

4. keras  기반 딥러닝 모델 생성

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')
  ])


5. 모델 실행

모델을 실행할 때 fit()함수에 callbacks 옵션에 tf.keras.callbacks.TensorBoard() 함수를 입력하여 수행하면 된다.

 

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])

 

6. Tensorboard를 실행하기 위해서는 cmd명령어 창에서 다음 구문을 실행하면 된다.

tensorboard --logdir =  log_dir

 

반응형
댓글