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

Python을 사용하여 기능 추출기를 만드는 데 Tensorflow를 어떻게 사용할 수 있습니까?

<시간/>

Tensorflow는 버퍼링된 프리페치를 사용하여 기능 추출기를 만드는 데 사용할 수 있습니다. trainingable=False로 설정하면 됩니다.

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

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

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

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

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

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

AUTOTUNE = tf.data.AUTOTUNE
train_ds = train_ds.cache().prefetch(buffer_size=AUTOTUNE)
print("The dimensions of data")
for image_batch, labels_batch in train_ds:
print(image_batch.shape)
print(labels_batch.shape)
break

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

출력

The dimensions of data
(32, 224, 224, 3)
(32,)

설명

  • TFHub는 최상위 분류 계층 없이도 모델을 배포합니다.
  • 전이 학습에 사용할 수 있습니다.
  • tfhub.dev의 모든 호환 가능한 이미지 특징 벡터 모델을 사용할 수 있습니다.
  • trainable=False를 사용하여 기능 추출기를 만들 수 있습니다.
  • 특징 추출기 레이어의 변수를 고정하는 데 사용할 수 있습니다.
  • 이것은 훈련이 새 분류자 레이어만 수정하도록 수행됩니다.
  • 각 이미지에 대해 1280 길이 벡터를 반환합니다.