Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

Tensorflow를 사용하여 배치 차원을 추가하고 Python을 사용하여 모델에 이미지를 전달하는 방법은 무엇입니까?

<시간/>

Tensorflow는 배치 차원을 추가하고 이미지를 Numpy 배열로 변환하여 모델에 이미지를 전달하는 데 사용할 수 있습니다.

자세히 알아보기: TensorFlow란 무엇이며 Keras가 TensorFlow와 함께 신경망을 생성하는 방법은 무엇입니까?

하나 이상의 레이어를 포함하는 신경망을 컨볼루션 레이어라고 합니다. Convolutional Neural Network를 사용하여 학습 모델을 구축할 수 있습니다.

Google Colaboratory를 사용하여 아래 코드를 실행하고 있습니다. Google Colab 또는 Colaboratory는 브라우저를 통해 Python 코드를 실행하는 데 도움이 되며 구성이 필요 없고 GPU(그래픽 처리 장치)에 대한 무료 액세스가 필요합니다. Colaboratory는 Jupyter Notebook을 기반으로 구축되었습니다.

이미지 분류를 위한 전이 학습 배후의 직관은 모델이 크고 일반적인 데이터 세트에서 훈련된 경우 이 모델을 사용하여 시각적 세계에 대한 일반 모델로 효과적으로 사용할 수 있다는 것입니다. 기능 맵을 학습했을 것이므로 사용자가 대규모 데이터 세트에서 대규모 모델을 학습하여 처음부터 시작할 필요가 없습니다.

TensorFlow Hub는 사전 훈련된 TensorFlow 모델이 포함된 저장소입니다. TensorFlow를 사용하여 학습 모델을 미세 조정할 수 있습니다.

TensorFlow Hub의 모델을 tf.keras와 함께 사용하고 TensorFlow Hub의 이미지 분류 모델을 사용하는 방법을 이해합니다. 이 작업이 완료되면 전이 학습을 수행하여 맞춤형 이미지 클래스에 대한 모델을 미세 조정할 수 있습니다. 이것은 사전 훈련된 분류기 모델을 사용하여 이미지를 찍고 그것이 무엇인지 예측함으로써 수행됩니다. 별도의 교육 없이도 가능합니다.

grace_hopper = np.array(grace_hopper)/255.0
print("The dimensions of the image are")
print(grace_hopper.shape)
result = classifier.predict(grace_hopper[np.newaxis, ...])
print("The dimensions of the resultant image are")
print(result.shape)
predicted_class = np.argmax(result[0], axis=-1)
print("The predicted class is")
print(predicted_class)

코드 크레딧 -https://www.tensorflow.org/tutorials/images/transfer_learning_with_hub

출력

The dimensions of the image are
(224, 224, 3)
The dimensions of the resultant image are
(1, 1001)
The predicted class is
819

설명

  • 일괄 측정기준이 추가되었습니다.
  • 이미지가 모델에 전달됩니다.
  • 결과는 로짓의 1001 요소 벡터입니다.
  • 이미지에 대한 모든 클래스의 확률을 평가합니다.