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

Làm cách nào để Tensorflow và mô hình được đào tạo trước được sử dụng để đánh giá và dự đoán dữ liệu bằng Python?

Tensorflow và mô hình được đào tạo trước có thể được sử dụng để đánh giá và dự đoán dữ liệu bằng phương pháp "đánh giá" và "dự đoán". Lô hình ảnh đầu vào đầu tiên được làm phẳng. Hàm sigmoid được áp dụng trên mô hình để nó sẽ trả về các giá trị logit.

Đọ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.

Chúng ta sẽ hiểu cách phân loại hình ảnh của mèo và chó với sự trợ giúp của việc học chuyển giao từ một mạng lưới được đào tạo trước. 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.

Đọc thêm: Làm cách nào để mô hình tùy chỉnh được đào tạo trước?

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("Evaluation and prediction")
loss, accuracy = model.evaluate(test_dataset)
print('Test accuracy is :', accuracy)
print("The batch of image from test set is retrieved")
image_batch, label_batch = test_dataset.as_numpy_iterator().next()
predictions = model.predict_on_batch(image_batch).flatten()
print("The sigmoid function is applied on the model, it returns logits")
predictions = tf.nn.sigmoid(predictions)
predictions = tf.where(predictions < 0.5, 0, 1)
print('Predictions are:\n', predictions.numpy())
print('Labels are:\n', label_batch)

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

Đầu ra

Evaluation and prediction
6/6 [==============================] - 3s 516ms/step - loss: 0.0276 - accuracy: 0.9844
Test accuracy is : 0.984375
The batch of image from test set is retrieved
The sigmoid function is applied on the model, it returns logits
Predictions are:
[1 1 1 1 0 0 1 0 1 0 0 0 1 0 1 0 0 0 1 1 1 0 1 0 0 1 1 1 0 1 0 1]
Labels are:
[1 1 1 1 0 0 1 0 1 0 0 0 1 0 1 0 0 0 1 1 1 0 1 0 0 1 1 1 0 1 0 1]

Giải thích

  • Mô hình hiện có thể được sử dụng để dự đoán và đánh giá dữ liệu.
  • Dự đoán được thực hiện khi một hình ảnh được chuyển làm đầu vào.
  • Dự đoán phải là hình ảnh là con chó hay con mèo.