각 Layer별 역할 개념 및 파라미터
Fully Connected

1차원으로 펼치고 다음 노드하고 하나씩에 연결
각 선에는 weight가 들어감 (ReLU)
마지막은 Softmax함수가 들어감
y = wX + b의 형태
Flatten
layer = tf.keras.layers.Flatten()
flatten = layer(output)
output.shape
>>> TensorShape([1, 28, 28, 5])
flatten.shape
>>> TensorShape([1, 3920]) #1은 batch_size 각 이미지에 대해 연산하는 것이기 때문에 1개씩 들어가야함
28 * 28 * 5 #3920은 28 * 28 * 5의 값
>>> 3920
#시각화
plt.figure(figsize=(10,2))
plt.subplot(211)
plt.hist(flatten.numpy().ravel())
plt.subplot(212)
plt.imshow(flatten[:,:100],'jet')
Dense
다음층에 연결을 어느정도 할지 경정
unit : 연결시킬 개수, 아래코드에서는 32
layer = tf.keras.layers.Dense(32,activation='relu')
output = layer(flatten)
output.shape
>>> TensorShape([1, 32])
layer_2 = tf.keras.layers.Dense(10,activation='relu')
output_example = layer_2(output)
output_example.shape
>>> TensorShape([1, 10])Dropout
학습이 안되는 부분을 제외 -> overfitting 방지
학습할때는 dropout 진행되지만,
test할때는 dropout이 다시 돌아옴
layer = tf.keras.layers.Dropout(0.7)
output = layer(output)
output.shape #연산에서 제외하는 것이라 모양이 바뀌진 않음
>>>TensorShape([1, 32])
model
모델을 마음대로 바꾸는걸로 하기보다는 가져다 쓰는걸 추천
딥러닝 디코딩하다보면 모델이 잘못된건지, 데이터가 잘못된건지 파악하기 어려움
따라서 잘된 모델 가져다 사용하고 이후 튜닝하는 것을 추천
#모델설계전 input_shape과 class의 수를 지정
from tensorflow.keras import layers
input_shape = (28, 28, 1)
num_classes = 10
inputs = layers.Input(shape = input_shape)
#Feature Extraction
net = layers.Conv2D(32, 3, padding="same")(inputs)
net = layers.Activation('relu')(net)
net = layers.Conv2D(32, 3, padding="same")(net)
net = layers.Activation('relu')(net)
net = layers.MaxPool2D((2,2))(net)
net = layers.Dropout(0.25)(net)
net = layers.Conv2D(64, 3, padding="same")(net)
net = layers.Activation('relu')(net)
net = layers.Conv2D(64, 3, padding="same")(net)
net = layers.Activation('relu')(net)
net = layers.MaxPool2D((2,2))(net)
net = layers.Dropout(0.25)(net)
#Fully Connected
net = layers.Flatten()(net)
net = layers.Dense(512)(net)
net = layers.Activation('relu')(net)
net = layers.Dropout(0.25)(net)
net = layers.Dense(10)(net)
net = layers.Activation('softmax')(net)
model = tf.keras.Model(inputs=inputs, outputs = net,name = 'Basic_CNN')'책&강의 학습 > 올인원 패키지 :딥러닝&인공지능' 카테고리의 다른 글
| [패스트캠퍼스 수강 후기] 인공지능강의 100% 환급 챌린지 6회차 미션 (0) | 2020.07.04 |
|---|---|
| [패스트캠퍼스 수강 후기] 인공지능강의 100% 환급 챌린지 5회차 미션 (0) | 2020.07.03 |
| [패스트캠퍼스 수강 후기] 인공지능강의 100% 환급 챌린지 3회차 미션 (0) | 2020.07.01 |
| [패스트캠퍼스 수강 후기] 인공지능강의 100% 환급 챌린지 2회차 미션 (0) | 2020.06.30 |
| [패스트캠퍼스 수강 후기] 인공지능강의 100% 환급 챌린지 1회차 미션 (0) | 2020.06.29 |
댓글