model.compile(optimizer='adam',
loss='sparse_categorical_crossentropy',
metrics=['accuracy'])
model = keras.Sequential([
keras.layers.Flatten(input_shape=(28, 28)),
keras.layers.Dense(128, activation='relu'),
keras.layers.Dense(10, activation='softmax')
])
keras.Sequential()
레이어의 목록을 Sequential 생성자에 전달하여 Sequential 모델을 만들 수 있습니다.
keras.layers.Flatten()
28*28 픽셀의 이미지의 2차원 배열을 1차원 배열로 변환 시킨다.
keras.layers.Dense(128, activation='relu')
relu함수를 활성화 시킨 128개의 노드를 가진 NN레이어를 만든다.
-relu: x>0 이면 기울기가 1인 직선이고, x<0이면 함수값이 0이된다.
keras.layers.Dense(10, activation='softmax')
10개의 노드를 가진 소프트 맥스층,10개의 확률을 반환하고 반환된 값의 합은 1
각 노드는 현재 이미지가 10개의 클래스 중 하나의 속할 확률을 출력.
model.compile(optimizer='adam',
loss='sparse_categorical_crossentropy',
metrics=['accuracy'])
optimizer='adam'
데이터와 손실함수를 바탕으로 모델의 업데이트 방법을 결정합니다.
loss = 'sparse_categorical_crossentropy'
각 샘플이 오직 하나의 class에 속할 때 사용.
metrics=['accuracy]
에측이 레이블과 얼마나 동일한지 정확도를 계산.
'인공지능' 카테고리의 다른 글
(tensorflow 신경망 분석)데이터 전처리 (0) | 2021.04.10 |
---|---|
(tensorflow 신경망 분석)사용 모듈 (0) | 2021.04.09 |