데이터분석/Tensorflow

TensorBoard

이규승 2022. 5. 19. 01:49
728x90

keras callbacks의 TensorBoard 사용

# TensorBoard : 모델의 구조 및 학습과정/결과 등을 시각화
from keras.models import Sequential
from keras.layers import Dense
import numpy as np
import pandas as pd
import tensorflow as tf
from keras.callbacks import TensorBoard

다중선형회귀모델

# 다중선형회귀모델 : 5명이 세 번의 시험 점수 예측
# 데이터
x_data = np.array([[70,85,80],[71,88,78],[50,80,60],[66,20,60],[50,30,10]])
y_data = np.array([73,82,72,57,34])

# 모델
model = Sequential()
model.add(Dense(6, input_dim = 3, activation = 'linear', name ='a'))
model.add(Dense(3, activation = 'linear', name ='b')) # hidden은 relu or linear
model.add(Dense(1, activation = 'linear', name ='c'))
# 컴파일
opti = tf.keras.optimizers.Adam(learning_rate=0.01)
model.compile(optimizer = opti, loss ='mse', metrics = ['mse'])
print(model.summary())
# fit 과정에서 텐서보드사용
tb = TensorBoard(log_dir='.\\my',histogram_freq=True, write_graph= True, write_images=True)
history = model.fit(x_data, y_data, batch_size=1, epochs=30, verbose=2,
                    callbacks=[tb]) # callback=[] 사용
# 모델 평가
loss_metrics = model.evaluate(x_data, y_data)
print('loss_metrics', loss_metrics)

from sklearn.metrics import r2_score
print('결정계수 : ', r2_score(y_data, model.predict(x_data)))

# 텐서보드는 웹서버를 이용

> 위 코드 실행시 현재위치에 my폴더 생성 그 안에 내용 실행해야한다.

> 아나콘다 터미널 사용

폴더를 이동 후

tensorboard --logdir my/ 

실행 후 알려주는 사이트로 접속한다

 

728x90