이미지 딥러닝

정현준·2022년 11월 28일
0

1. 필요한 패키지, 라이브러리

from tensorflow.keras.applications.vgg16 import VGG16
from tensorflow.keras.layers import Dense, GlobalAveragePooling2D
from tensorflow.keras.models import Sequential
from tensorflow.keras.datasets import cifar10

from sklearn.model_selection import train_test_split

import numpy as np
import tensorflow as tf

2. train/test data

X_train, y_train, X_test, y_test

3. 이미지 정규화

X_train = X_train.astype('float32') / 255.
X_test = X_test.astype('float32') / 255.

4. 사전학습모델 불러오기(optional)

pretrained_model = VGG16(weights='imagenet', include_top=False)

5. 모델 제작

model = Sequential()
model.add(pretrained_model)
model.add(GlobalAveragePooling2D())
model.add(Dense(128,activation='relu'))
model.add(Dense(10,activation='softmax'))

6. 모델 compile

model.compile(optimizer='adam',
              loss='sparse_categorical_crossentropy',
              metrics=['accuracy'])

7. 모델 fit

from keras.callbacks import EarlyStopping

early_stopping = EarlyStopping(monitor = 'val_loss', min_delta = 0, patience = 5, mode = 'auto')

model.fit(
    X_train, y_train,
    batch_size=32,
    validation_data=(X_val, y_val),
    epochs=500,
    callbacks = early_stopping
)

8. 모델 평가

model.evaluate(X_test, y_test, verbose=2)

0개의 댓글