Page 466 - 2020학년도 MDP과제발표회 자료집 (통신과) (3)
P. 466
logits, y_pred = model.model(X, keep_prob)
‘’‘
학습하는데 들어가는 손실 값을 계산하기 위한 연산을 softmax_cross_entropy_with_logits_v2 지정해
줍니다. tensorboard 에서 확인하기 위하여 summary 도 지정해 줍니다.
‘’‘
# Cost 를 계산하기 위한 연산을 지정합니다.
with tf.name_scope('Cost') as scope:
# define cost/loss & optimizer
cost = tf.reduce_mean(tf.nn.softmax_cross_entropy_with_logits_v2(logits=logits, labels=Y))
cost_summary = tf.summary.scalar('cost', cost) # tensorboard
optimizer = tf.train.AdamOptimizer(learning_rate=learning_rate).minimize(cost)
‘’‘
학습의 정확도를 계산하기 위한 연산을 지정합니다. 마찬가지로 tensorboard 에서 확인하기 위하여
summary 도 지정해 쥡니다.
‘’‘
# 정확도를 계산하기 위한 연산을 지정합니다.
with tf.name_scope('Accuracy') as scope:
# Test model and check accuracy
correct_prediction = tf.equal(tf.argmax(logits, 1), tf.argmax(Y, 1))
accuracy = tf.reduce_mean(tf.cast(correct_prediction, tf.float32))
acc_summary = tf.summary.scalar('acc', accuracy) # tensorboard
‘’‘
한 스텝에 몇 번의 학습을 하는지 epochs 를 정하고 몇 개의 데이터를 넣는지 batch_size 도 정해줍니
다 그리고 세션을 초기화 시켜줍니다. .
‘’‘
# Epochs 와 batch size 를 지정해줍니다.
training_epochs = 100
batch_size = 16
# initialize
sess.run(tf.global_variables_initializer())
‘’‘
tensorboard 를 사용하기 위해 지정했던 summary 들을 모아서 저장합니다.
‘’‘
# 텐서보드 요약정보들을 각각의 merged 로 지정합니다.
cost_merged = tf.summary.merge([cost_summary])
acc_merged = tf.summary.merge([acc_summary])
# 텐서보드 summary 정보들을 저장할 폴더 경로를 설정합니다.
486 인천전자마이스터고등학교 - 486 -
정보통신기기과