인공지능

(tensorflow 신경망 분석)모델 구성

ri5 2021. 4. 13. 21:52
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]

에측이 레이블과 얼마나 동일한지 정확도를 계산.