TensorFlow 예제 소스를 기반으로 한 번 살펴보아요.
여기에는 미니배치나 이터레이션에 대해서는 말할 부분이 없네요?
이터레이션에 대해서 뭐 꼭 있어야 하나? ???
// 이렇게 하고 주석 붙이는 것은 파이썬에서는 오류가 납니다.
// 쉽게 표시하려고 이렇게 한 것 뿐이에요!!
with tf.Session() as sess: // 자 일단 세션 가지고 시작하자....
sess.run(init) // 이건 뭐 초기화 하는 것이죠?
for epoch in range(training_epochs): // 이게 가장 바깥쪽 루프에요. 아하.. epoch는 세상이 한 번 도는 것
// training_epochs는 그럼 뭐냐?? 앞에서 그냥 줬습니다. 한 200번
// 돌으라고 시켰더군요. epoch가 아마 세상의 시작이던가?
avg_cost = 0. // 평균 비용인데 각 epoch 안에 있는 것을 보니. 한번의 epoch 마다 계산하는군요.
total_batch = int(mnist.train.num_examples/batch_size) // 자 궁금하시던 배치 이야기 나옵니다.
// 뭐다? 샘플 갯수 / 배치 사이즈 = 배치 갯수
// 배치는 뭐다? 뭐긴 데이터 크니까 쪼개서 학습하는
// 한 덩어리.
for i in range(total_batch): // 쪼갠 덩어리 하나씩 가져다가 학습하려면 배치 갯수만치 돌려야지?
batch_xs, batch_ys = mnist.train.next_batch(batch_size) // 으흥!! 데이터 내놔!! 한 번에 배치 크기만치!!
sess.run(optimizer, feed_dict={X:batch_xs, Y:batch_ys}) // 요것이 학습하는 거에욤. 옵티마이저, 달려라~
avg_cost += sess.run(cost, feed_dict={X:batch_xs, Y:batch_ys})/total_batch // 이 문장은 설명 안 할꼬얌
if epoch % display_step == 0: // epoch마다 출력하면 정신 사나우니까.
print ("Epoch", "%04d" % (epoch+1), "cost=", "{:.9f}".format(avg_cost)) // 출력 조건이 되면 결과 보여주고.
print ("Optimization finished") // 자 끝났어요?
이것 보고 이해가 어려우면 5번 더 보시고
그래도 무슨 말이야 싶으시면
업종 전환하시면 됩니당.
'TensorFlow OpenCV' 카테고리의 다른 글
| Anaconda + PyCharm + pronterface 2019. 8. 21. 0:30 (0) | 2019.10.05 |
|---|---|
| Anaconda + PyCharm + Keras 2019. 8. 16. 0:09 (0) | 2019.10.05 |
| Tensorflow로 faceswap을 해보자 (0) | 2019.10.05 |
| Windows GDI와 OPENCV 혼용, PolyBezier + Mat 2018. 1. 16. (0) | 2019.10.05 |
| darknet DEBUG BUILD 오류 해결 2018. 1. 16. (0) | 2019.10.05 |