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

Python을 사용하여 모델에 데이터를 맞추기 위해 Tensorflow를 어떻게 사용할 수 있습니까?

<시간/>

Tensorflow는 'fit' 방법을 사용하여 데이터를 모델에 맞추는 데 사용할 수 있습니다.

자세히 알아보기: 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을 기반으로 구축되었습니다.

예시

print("Training for 2 epochs only")
class CollectBatchStats(tf.keras.callbacks.Callback):
   def __init__(self):
      self.batch_losses = []
      self.batch_acc = []
   def on_train_batch_end(self, batch, logs=None):
      self.batch_losses.append(logs['loss'])
      self.batch_acc.append(logs['acc'])
      self.model.reset_metrics()
batch_stats_callback = CollectBatchStats()
print("The fit method is called")
history = model.fit(train_ds, epochs=2,
callbacks=[batch_stats_callback])

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

출력

Training for 2 epochs only
The fit method is called
Epoch 1/2
92/92 [==============================] - 88s 919ms/step - loss: 0.7155 - acc: 0.7460
Epoch 2/2
92/92 [==============================] - 85s 922ms/step - loss: 0.3694 - acc: 0.8754

설명

  • .fit 메소드는 모델을 훈련하는 데 사용됩니다.

  • 훈련은 짧게 유지되므로 훈련에는 2개의 Epoch만 사용됩니다.

  • 사용자 지정 콜백은 각 배치의 손실과 정확성을 개별적으로 기록하기 위해 데이터를 시각화하는 데 사용됩니다.