Google Colab과 TensorFlow를 활용해 개와 고양이 이미지 분류를 학습하는 과정은 다음과 같습니다.
1.환경 설정: 먼저, 필요한 라이브러리를 설치하고 임포트해야 합니다. TensorFlow는 이미 Colab에 설치되어 있지만, 최신 버전을 사용하려면 업데이트할 수 있습니다.
2. 데이터 로딩과 전처리: 개와 고양이 이미지 데이터셋을 로딩해야 합니다. TensorFlow Datasets 라이브러리를 사용해 데이터를 다운로드하고 로딩할 수 있습니다.
import tensorflow_datasets as tfds
(raw_train, raw_validation, raw_test), metadata = tfds.load( 'cats_vs_dogs', split=['train[:80%]', 'train[80%:90%]', 'train[90%:]'], with_info=True, as_supervised=True,
)
이미지 데이터는 모델에 입력하기 전에 일관된 형태로 전처리해야 합니다. TensorFlow는 이를 위해 tf.data API를 제공합니다.
IMG_SIZE = 160 # All images will be resized to 160x160
def format_example(image, label):
image = tf.cast(image, tf.float32)
image = (image/127.5) - 1
image = tf.image.resize(image, (IMG_SIZE, IMG_SIZE))
return image, label
train = raw_train.map(format_example)
validation = raw_validation.map(format_example)
test = raw_test.map(format_example)
3.모델 구축: 이제 Convolutional Neural Network (CNN) 모델을 구성할 차례입니다. 여기서는 간단한 CNN 모델을 사용하겠습니다.
model = Sequential([
Conv2D(16, 3, padding='same', activation='relu', input_shape=(IMG_SIZE ,IMG_SIZE ,3)), MaxPooling2D(),
Conv2D(32, 3, padding='same', activation='relu'), MaxPooling2D(),
Conv2D(64, 3, padding='same', activation='relu'), MaxPooling2D(), Flatten(),
Dense(512, activation='relu'),
Dense(1, activation='sigmoid') ])
그리고 모델을 컴파일합니다.
model.compile(optimizer='adam',
loss='binary_crossentropy',
metrics=['accuracy'])
4. 모델 훈련: 이제 모델을 훈련시킬 준비가 끝났습니다. 여기서는 15번의 에포크로 훈련하겠습니다.
EPOCHS = 15
history = model.fit(
train_batches,
epochs=EPOCHS,
validation_data=validation_batches)
5.모델 평가 및 테스트: 훈련된 모델의 성능을 확인하기 위해 검증 데이터셋으로 평가를 진행합니다.
훈련된 모델의 성능을 확인하기 위해 검증 데이터셋으로 평가를 진행합니다.
loss, accuracy = model.evaluate(validation_batches)
print("Accuracy", accuracy)
테스트 데이터셋에 대해 모델을 적용하여 실제 세계에서 어떻게 동작하는지 확인해 볼 수도 있습니다. 모델이 어떤 이미지를 잘못 분류했는지 확인하는 것은 모델을 개선하는 데 도움이 될 수 있습니다.
6. 모델 저장 및 배포: 마지막으로, 모델을 저장하고 공유하는 것이 중요합니다. 훈련된 모델을 HDF5 파일 형식으로 저장할 수 있습니다.
model.save('my_model.h5')
그러면 이제 훈련된 모델을 다른 사람과 공유하거나 다른 프로젝트에서 사용할 수 있습니다. 또한, 이 모델을 클라우드에 배포하고 웹 애플리케이션 또는 모바일 앱에서 사용할 수도 있습니다.
이것으로 개와 고양이 이미지 분류 학습의 기본적인 단계를 모두 거쳤습니다. 머신러닝은 복잡한 분야이지만, TensorFlow와 Google Colab과 같은 도구들 덕분에 누구나 쉽게 접근하고 실험해 볼 수 있습니다.
'AI Basics' 카테고리의 다른 글
AutoML: 머신러닝의 자동화를 향한 진화 (0) | 2023.07.02 |
---|---|
머신러닝 이해와 활용 - 3rd.데이터수집(Google Colab) (0) | 2023.07.01 |
머신러닝 이해와 활용 - 1st.머신러닝툴 (0) | 2023.07.01 |
AI의 역사, 튜링 테스트부터 알파고까지 (0) | 2023.07.01 |
인공지능(AI) 소개: 기본 용어와 개념 정리 (0) | 2023.07.01 |