두 가지로 분류 하는 모델을 모델링하고 컴파일 할때 loss함수는
'binary_crossentropy'로 적용 시킨다.
ex) 개와 고양이의 사진 중, 하나의 사진을 가지고 테스트를 하게 되면,
그 테스트용 사진이 개인지 고양이 인지 분류한다.
model = tf.keras.models.Sequential([
Conv2D( 32, ( 3,3 ), activation='relu', input_shape= ( 300, 300, 3 ) ),
MaxPool2D( 2, 2 ),
Conv2D( 64, ( 3,3 ), activation='relu' ),
MaxPool2D( 2, 2 ),
Conv2D( 128, ( 3,3 ), activation='relu' ),
MaxPool2D( 2, 2 ),
Flatten(),
Dense( 512, activation='relu'),
Dense( 1, activation='sigmoid' )
])
model.compile( optimizer = RMSprop( lr=0.001 ), loss = 'binary_crossentropy', metrics = ['accuracy'])
위의 코드는 모델링하고 컴파일 부분의 loss 함수를 'binary_crossentropy' 로 적용하였다.
## 세 가지 이상으로 분류를 할 때는 loss 함수에 'sparse_categorical_crossentropy' 로 적용
(훈련시키려는 대상이 정수일때 )
ex) y_train
[6]
## 세 가지 이상으로 분류를 할 때 가져오려는 값이 OneHotEncoding 되어 있는 상황이라면,
컴파일의 loss함수는 'categorical_crossentropy'
ex) y_train
[0,0,0,0,0,0,1,0]
'IT 프로그래밍 관련 > 딥러닝' 카테고리의 다른 글
CNN으로 이미지 파일 시험코드 (0) | 2021.03.03 |
---|---|
타임시리즈 데이터분석용 Prophet 라이브러리 (0) | 2021.03.03 |
CNN ImageDataGenerator 활용 (모델링) (0) | 2021.03.02 |
google colab에서 데이터 압축 풀기 (0) | 2021.03.02 |
Callback함수 사용법 코드 (0) | 2021.03.02 |
댓글