- ConvNet을 TensorFlow로 구현하자 (MNIST 99%)
- ReLU 정의하기
- Pooling layer (sampling)
- Shape not sure ? Print Tensor
- Dropout
- Fully connected net
- Other TF Optimizers
- Train and testing
ConvNet을 TensorFlow로 구현하자 (MNIST 99%)
CNN을 다른 형태의 그림으로 표현해보자.
Conv를 정의하는 방법:
tf.nn.conv2d(X,w, …)
여기서 X는 이미지
w는 (사진을 보면)위에서 정의한 Weight
strids = [a,b,c,d]는
a와 d는 1로 Fix시킨다.
b는 옆으로 몇칸씩 움직일 것인가
c는 아래로 몇칸씩 움직일 것인가
padding=’SAME’으로 지정해주면
원래 이미지와 같은 크기로 Activation Map을 만들어준다.
ReLU 정의하기
Pooling layer (sampling)
각각 하나의 레이어에 대해서
max pooling과 같은 방식으로
pooling을 하고
다시 조립 !
ksize는 필터처럼
어떤 사이즈로 읽은 것인가를 지정
Shape not sure ? Print Tensor
ReLU나 Max Pooling을 했을 때
결과값을 알고 싶을 때
손으로 하는게 아니라
컴퓨터로 출력을 해보면 된다.
Dropout
Fully connected net
reshape를 해줘서
보기 좋게 펴준다.
(= [[[][][]][][][][] ]이런 구조를 [[][][][]] 이렇게 해준다는 뜻 )
그리고 사진속 마지막 코드
pyx가 최종적인 값이다.
Other TF Optimizers
여러가지 최적화 시켜주는 Method를 알아보자.
Train and testing
이젠 실행시켜보자 !