[케라스(keras)] 케라스에서 텐서보드 사용하기-Tensorboard with Keras
케라스로 만든 모델을 텐서보드에서 확인하는 방법입니다.
기존에 만든 모델에 3줄만 추가해주면 됩니다. 아래 노란색 주석을 참고해주세요.
from keras.datasets import mnist
from keras.utils import to_categorical
from tensorflow.python.keras.callbacks import TensorBoard ## TensorBoard 를 import합니다.
from time import time ## Log를 만들때 사용합니다.
from keras import layers
from keras import models
(train_images, train_labels), (test_images, test_labels) = mnist.load_data()
# sp = np.shape(train_images) #(60000, 28, 28) 28x28 그림 60000장
train_images = train_images.reshape((60000, 28, 28, 1)) # <class 'numpy.ndarray'>
train_images = train_images.astype('float32') / 255 # <class 'numpy.ndarray'>
test_images = test_images.reshape((10000, 28, 28, 1))
test_images = test_images.astype('float32') / 255
train_labels = to_categorical(train_labels)
test_labels = to_categorical(test_labels)
model = models.Sequential() # Sequential method로 모델 구성
model.add(layers.Conv2D(32, (3, 3), activation='relu', input_shape=(28, 28, 1), padding='same'))
model.add(layers.MaxPooling2D(2, 2))
model.add(layers.Conv2D(64, (3, 3), activation='relu'))
model.add(layers.MaxPooling2D(2, 2))
model.add(layers.Conv2D(64, (3, 3), activation='relu'))
model.add(layers.Flatten())
model.add(layers.Dense(64, activation='relu'))
model.add(layers.Dense(10, activation='softmax'))
print(model.summary())
tensorboard = TensorBoard(log_dir="logs/{}".format(time())) ## 이 줄과
model.compile(optimizer='rmsprop',
loss='categorical_crossentropy',
metrics=['accuracy'])
model.fit(train_images, train_labels, epochs=5, batch_size=64, callbacks=[tensorboard]) ## 이 줄을 추가합니다.
test_loss, test_acc = model.evaluate(test_images, test_labels)
위의 코드를 한번 실행시키고 커맨드창을 열어 텐서보드를 실행시켜줍니다.
현재 경로로 이동하고 tensorboard --logdir=logs(로그가 저장되어 있는 폴더명)
처음에는 커맨드라인에 나온 http://컴퓨터이름:6006으로 접속했더니 페이지가 안열렸습니다.
그래서 localhost:6006으로 다시 접속하니 정상 실행됐습니다.
사용방법은 https://www.youtube.com/watch?time_continue=1255&v=eBbEDRsCmv4에 잘 나와있습니다.
'Statictics & Math & Data Science > 파이썬 데이터 분석' 카테고리의 다른 글
[Regression] Ridge and Lasso Regression in Python (1) - Polynomial (0) | 2019.01.31 |
---|---|
[Regression] Piecewise Regression with numpy (0) | 2019.01.29 |
[케라스(keras)] MLP regression 다층퍼셉트론으로 회귀모델 만들기 (1) | 2019.01.17 |
[데이터 시각화] Matplotlib로 3D scatter plot 그리기 (0) | 2019.01.15 |
[python] image processing speed comparison cv2 vs imageio (0) | 2019.01.14 |