Computer >> Máy Tính >  >> Lập trình >> Python

Làm cách nào để Tensorflow có thể được sử dụng để khớp dữ liệu với mô hình bằng Python?

Tensorflow có thể được sử dụng để điều chỉnh dữ liệu với mô hình bằng phương pháp "fit".

Đọc thêm: TensorFlow là gì và cách Keras làm việc với TensorFlow để tạo Mạng thần kinh?

Mạng nơ-ron chứa ít nhất một lớp được gọi là lớp chập. Chúng ta có thể sử dụng Mạng thần kinh hợp pháp để xây dựng mô hình học tập.

Trực giác đằng sau việc học truyền để phân loại hình ảnh là, nếu một mô hình được đào tạo trên một tập dữ liệu lớn và tổng quát, thì mô hình này có thể được sử dụng để phục vụ hiệu quả như một mô hình chung cho thế giới hình ảnh. Nó sẽ học được các bản đồ đối tượng, có nghĩa là người dùng sẽ không phải bắt đầu lại từ đầu bằng cách đào tạo một mô hình lớn trên một tập dữ liệu lớn.

TensorFlow Hub là một kho chứa các mô hình TensorFlow được đào tạo trước. TensorFlow có thể được sử dụng để tinh chỉnh các mô hình học tập. Chúng ta sẽ hiểu cách sử dụng các mô hình từ TensorFlow Hub với tf.keras, sử dụng mô hình phân loại hình ảnh từ TensorFlow Hub. Sau khi hoàn tất, việc học chuyển giao có thể được thực hiện để tinh chỉnh mô hình cho các lớp hình ảnh tùy chỉnh. Điều này được thực hiện bằng cách sử dụng mô hình phân loại được đào tạo trước để chụp ảnh và dự đoán nó là gì. Điều này có thể được thực hiện mà không cần bất kỳ đào tạo.

Chúng tôi đang sử dụng Google Colaboratory để chạy đoạn mã dưới đây. Google Colab hoặc Colaboratory giúp chạy mã Python qua trình duyệt và không yêu cầu cấu hình cũng như quyền truy cập miễn phí vào GPU (Đơn vị xử lý đồ họa). Colaboratory đã được xây dựng trên Jupyter Notebook.

Ví dụ

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])

Mã tín dụng −https://www.tensorflow.org/tutorials/images/transfer_learning_with_hub

Đầu ra

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

Giải thích

  • Phương thức .fit được sử dụng để đào tạo mô hình.

  • Khóa đào tạo được giữ trong thời gian ngắn, do đó chỉ có 2 kỷ nguyên được sử dụng để đào tạo.

  • Một lệnh gọi lại tùy chỉnh được sử dụng để trực quan hóa dữ liệu, để ghi lại sự mất mát và độ chính xác của từng lô riêng lẻ.