Tensorflow와 사전 훈련된 모델은 'matplotlib' 라이브러리를 사용하여 데이터를 시각화하는 데 사용할 수 있습니다. 'plot' 메소드는 콘솔에 데이터를 플롯하는 데 사용됩니다.
자세히 알아보기: TensorFlow란 무엇이며 Keras가 TensorFlow와 함께 신경망을 생성하는 방법은 무엇입니까?
하나 이상의 레이어를 포함하는 신경망을 컨볼루션 레이어라고 합니다. Convolutional Neural Network를 사용하여 학습 모델을 구축할 수 있습니다.
우리는 사전 훈련된 네트워크에서 전이 학습의 도움으로 고양이와 개의 이미지를 분류하는 방법을 이해할 것입니다. 이미지 분류를 위한 전이 학습 배후의 직관은 모델이 크고 일반적인 데이터 세트에서 훈련된 경우 이 모델을 사용하여 시각적 세계에 대한 일반 모델로 효과적으로 사용할 수 있다는 것입니다. 기능 맵을 학습했을 것이므로 사용자가 대규모 데이터 세트에서 대규모 모델을 학습하여 처음부터 시작할 필요가 없습니다.
자세히 알아보기: 맞춤형 모델은 어떻게 사전 훈련될 수 있습니까?
Google Colaboratory를 사용하여 아래 코드를 실행하고 있습니다. Google Colab 또는 Colaboratory는 브라우저를 통해 Python 코드를 실행하는 데 도움이 되며 구성이 필요 없고 GPU(그래픽 처리 장치)에 대한 무료 액세스가 필요합니다. Colaboratory는 Jupyter Notebook을 기반으로 구축되었습니다.
예시
print("Visualizing the data") plt.figure(figsize=(8, 8)) plt.subplot(2, 1, 1) plt.plot(acc, label='Training Accuracy') plt.plot(val_acc, label='Validation Accuracy') plt.ylim([0.8, 1]) plt.plot([initial_epochs-1,initial_epochs-1], plt.ylim(), label='Start Fine Tuning') plt.legend(loc='lower right') plt.title('Training and Validation Accuracy') plt.subplot(2, 1, 2) plt.plot(loss, label='Training Loss') plt.plot(val_loss, label='Validation Loss') plt.ylim([0, 1.0]) plt.plot([initial_epochs-1,initial_epochs-1], plt.ylim(), label='Start Fine Tuning') plt.legend(loc='upper right') plt.title('Training and Validation Loss') plt.xlabel('epoch') plt.show()
코드 크레딧 -https://www.tensorflow.org/tutorials/images/transfer_learning
출력
설명
-
훈련 및 검증 정확도/손실의 학습 곡선이 시각화됩니다.
-
미세 조정이 수행되면 수행됩니다.
-
validation loss가 training loss보다 높기 때문에 과적합이 있을 수 있습니다.
-
이 과적합은 훈련 데이터 세트가 상대적으로 작고 원래 MobileNet V2 데이터 세트와 유사하기 때문일 수도 있습니다.
-
미세 조정이 완료되면 모델은 검증 세트에서 98% 정확도에 도달합니다.