오늘보다 더 나은 내일의 나에게_

비전공자의 IoT 국비 교육 수강일지 Day_91 본문

비전공자의 코딩일지

비전공자의 IoT 국비 교육 수강일지 Day_91

chan_96 2022. 4. 27. 12:49
728x90

머신러닝

📌 CNN 모델 만들기

from tensorflow.keras.layers import Conv2D,MaxPool2D, Flatten

1. 모델 생성

cnn_model = Sequential() # 모델의 뼈대
# 특성 추출부
cnn_model.add(InputLayer(input_shape=(224,224,3)))
cnn_model.add(Conv2D(filters=64,
                    kernel_size=(3,3),
                    activation="relu"))
cnn_model.add(MaxPool2D()) # 불필요한 정보를 삭제
cnn_model.add(Conv2D(filters=128,
                    kernel_size=(3,3),
                    activation="relu"))
cnn_model.add(MaxPool2D())
cnn_model.add(Conv2D(filters=64,
                    kernel_size=(3,3),
                    activation="relu"))
cnn_model.add(MaxPool2D())
# 분류기(MLP)
cnn_model.add(Flatten())
cnn_model.add(Dense(units=64,activation='sigmoid'))
cnn_model.add(Dense(units=32,activation='sigmoid'))
cnn_model.add(Dense(units=3,activation='softmax'))

cnn_model.summary()
=> cnn_model.summary( ) 실행 결과

2. 모델 학습
cnn_model.compile(loss="sparse_categorical_crossentropy",
                 optimizer="Adam",
                 metrics=['accuracy'])

from sklearn.model_selection import train_test_split
X_train,X_test,y_train,y_test = train_test_split(X,y,test_size=0.2,
                                                random_state=425)                 

cnn_model.fit(X_train,y_train,epochs=50)


3. 모델 예측
pre = cnn_model.predict(X_test)


4. 모델 평가
from sklearn.metrics import classification_report
print(classification_report(y_test,np.argmax(pre,axis=1)))

✨코랩에서 작성하던 파일 불러오기


압축 풀기

 

문제 유형에 따라 사용되는 활성화 함수와 오차함수 종류

 

728x90
Comments