[모두의 딥러닝] lab 07-2. Meet MNIST data set
MNIST Dataset
- 손글씨로 쓴 숫자들.
- 미국 우체국에서 우편변호를 쓸 때, 손글씨를 컴퓨터가 자동으로 읽게 하기 위한 데이터셋
28x28xI image
- 28x28 = 384개
- 784개의 x_data
- y_data는 예측 = 0~9, 즉 10개 예측. (10개의 출력)
- tensorflow에서 만들어둔 mnist library
- mnist.train.next_batch(100) = 100개의 x, y training data가 읽어진다. (한꺼번에 다 메모리에 올릴 필요 없음)
- test set으로 mnist를 평가. (한번도 학습시키지 않은 test set)
- 별도로 one-hot으로 만들지 않아도, mnist를 읽어올 때 one_hot 처리를 할 수 있다.
Reading data and set variables
Softmax
- axis: 축
Training epoch/batch
- training시킬 data가 많기 때문에 batch로 잘라서 학습시킴
- batch_size = 한 번에 몇 개씩 학습시킬 것인가
- 1 epoch = 전체 데이터셋을 한번 다 학습시킨 것
- 1 epoch을 batch size로 잘라서 학습시키는 것이다.
- 굉장히 일반적인 학습 방법 (epoch/batch)
Report results on test dataset
- test data를 이용하여 성능 평가
- accuracy 평가 방법
1. session.run()
2. accuracy.eval()
결과
- epoch이 커질수록, cost가 줄어듦.
Sample image show and prediction
- matplotlib 이용
- random하게 하나의 숫자를 읽어옴
- test할 label의 data(ONE_HOT)를 읽어와 argmax를 통해 label이 무엇인지 출력
- 예측을 하기 위해 images를 던져주고, hypothesis를 argmax를 통해 돌림
- 이미지가 맞는지 확인하기 위해, imshow()라는 함수를 이용
댓글