728x90
반응형
Sung Kim 님의 "모두의 딥러닝" 강의노트입니다
좋은 강의 감사드립니다!
https://www.youtube.com/watch?v=mQGwjrStQgg&list=PLlMkM4tgfjnLSOjrEJN31gZATbcj_MpUm&index=5
예전에 미국의 우체국에서 우편번호를 읽기위해 학습한 데이터이다. 실제 손글씨
28 x 28 x I image이다.
Shape = 28 * 28 이다.
Y의 경우는 0~9까지의 숫자 class = 10인 데이터가 된다. 여기서 one-hot-encoding을 사용한다.
100개의 x와 y의 training data를 노출시킴
training의 epoch 와 batch로 잘라서 학습
한 번에 몇개씩 학습 시킬 건지를 = batch size 100이면 100개씩 학습
Epoch => 전체 데이터 셋을 한 번 다 학습시키는 것은 1 epoch이라고 함
데이터가 1000개일 때 batch size가 500이면 2만큼의 iteration하면 1 epoch 가 되는 것임
먼저 데이터를 읽어온다. One-hot을 사용하고, tensor들을 만들어준다
그 후 softmax를 이용하여 hypothesis를 세운다.
tf.equal을 통해 대조해보고 이를 통해 accuracy를 확인한다.
Sess.run() 대신에 어떤 텐서 뒤에 .eval을 붙이는 것과 같은 의미를 같는다.
루프가 총 2번 돌아감
총 15번 크게 돌겠다는 것이고
한 번에 100개씩 학습하겠다는 것이다.
Total_batch는 총 갯수에서 설정한 batch로 나누어 i를 정한다
몇번 iteration해야 1 epoch이 되는지! 따라서 total_batch만큼 돌면 1 epoch이 되는 것
Mnist.train.next_batch(batch_size) -> 100개씩 읽어와서 학습한다
그리고 각각의 100개를 feed_dict를 통해 던져준다
안의 for문이 다 돌면 1 epoch가 되는 것 그리고 그 다음 밖의 for문으로 가서 epoch으로 가게 되는 것
실제 숫자를 보기 위함
random하게 1개를 읽어옴
test할 label 한 개르 읽어오고 argmax를 통해 label이 무엇인지 파악한다 .
예측은 hypothesis를 실행시키고 그에 맞는 이미지를 하나 던져주고 argmax하면 Prediction한 값이 나오게 된다.
728x90
반응형