Tensorflow와 사전 훈련된 모델은 'evaluate' 및 'predict' 방법을 사용하여 데이터를 평가하고 예측하는 데 사용할 수 있습니다. 입력 이미지 배치가 먼저 병합됩니다. sigmoid 함수는 로짓 값을 반환하도록 모델에 적용됩니다.
자세히 알아보기: TensorFlow란 무엇이며 Keras가 TensorFlow와 함께 신경망을 생성하는 방법은 무엇입니까?
하나 이상의 레이어를 포함하는 신경망을 컨볼루션 레이어라고 합니다. Convolutional Neural Network를 사용하여 학습 모델을 구축할 수 있습니다.
우리는 사전 훈련된 네트워크에서 전이 학습의 도움으로 고양이와 개의 이미지를 분류하는 방법을 이해할 것입니다. 이미지 분류를 위한 전이 학습 배후의 직관은 모델이 크고 일반적인 데이터 세트에서 훈련된 경우 이 모델을 사용하여 시각적 세계에 대한 일반 모델로 효과적으로 사용할 수 있다는 것입니다. 기능 맵을 학습했을 것이므로 사용자가 대규모 데이터 세트에서 대규모 모델을 학습하여 처음부터 시작할 필요가 없습니다.
자세히 알아보기: 맞춤형 모델은 어떻게 사전 훈련될 수 있습니까?
Google Colaboratory를 사용하여 아래 코드를 실행하고 있습니다. Google Colab 또는 Colaboratory는 브라우저를 통해 Python 코드를 실행하는 데 도움이 되며 구성이 필요 없고 GPU(그래픽 처리 장치)에 대한 무료 액세스가 필요합니다. Colaboratory는 Jupyter Notebook을 기반으로 구축되었습니다.
예시
print("Evaluation and prediction") loss, accuracy = model.evaluate(test_dataset) print('Test accuracy is :', accuracy) print("The batch of image from test set is retrieved") image_batch, label_batch = test_dataset.as_numpy_iterator().next() predictions = model.predict_on_batch(image_batch).flatten() print("The sigmoid function is applied on the model, it returns logits") predictions = tf.nn.sigmoid(predictions) predictions = tf.where(predictions < 0.5, 0, 1) print('Predictions are:\n', predictions.numpy()) print('Labels are:\n', label_batch)
코드 크레딧 -https://www.tensorflow.org/tutorials/images/transfer_learning
출력
Evaluation and prediction 6/6 [==============================] - 3s 516ms/step - loss: 0.0276 - accuracy: 0.9844 Test accuracy is : 0.984375 The batch of image from test set is retrieved The sigmoid function is applied on the model, it returns logits Predictions are: [1 1 1 1 0 0 1 0 1 0 0 0 1 0 1 0 0 0 1 1 1 0 1 0 0 1 1 1 0 1 0 1] Labels are: [1 1 1 1 0 0 1 0 1 0 0 0 1 0 1 0 0 0 1 1 1 0 1 0 0 1 1 1 0 1 0 1]
설명
- 이제 모델을 사용하여 데이터를 예측하고 평가할 수 있습니다.
- 이미지가 입력으로 전달되면 예측이 수행됩니다.
- 이미지가 개인지 고양이인지 예측해야 합니다.