TensorFlow và mô hình tiền huấn luyện có thể được sử dụng để đánh giá và dự đoán dữ liệu bằng các phương thức 'evaluate' và 'predict'. Batch hình ảnh đầu vào đầu tiên được làm phẳng (flatten). Hàm sigmoid được áp dụng trên mô hình để nó trả về các giá trị logit.
Đọc thêm: TensorFlow là gì và Keras hoạt động như thế nào với TensorFlow để tạo mạng nơ-ron?
Một mạng nơ-ron chứa ít nhất một layer được gọi là layer tích chập. Chúng ta có thể sử dụng Mạng nơ-ron tích chập (CNN) để xây dựng mô hình học.
Chúng ta sẽ hiểu cách phân loại hình ảnh mèo và chó với sự giúp đỡ của học chuyển giao từ một mạng tiền huấn luyện. Trực quan sau học chuyển giao cho phân loại hình ảnh là: nếu một mô hình được huấn luyện trên một tập dữ liệu lớn và chung, mô hình này có thể được sử dụng hiệu quả như một mô hình chung cho thế giới thị giác. Nó đã học được các bản đồ đặc trưng, nghĩa là người dùng không phải bắt đầu từ đầu bằng cách huấn luyện một mô hình lớn trên tập dữ liệu lớn.
Đọc thêm: Làm thế nào một mô hình tùy chỉnh có thể được tiền huấn luyện?
Chúng ta đang sử dụng Google Colaboratory để chạy mã dưới đây. Google Colab giúp chạy mã Python trên trình duyệt và yêu cầu cấu hình zero và truy cập miễn phí GPU. Colaboratory được xây dựng dựa trên Jupyter Notebook.
Ví dụ
print("Đánh giá và dự đoán")
loss, accuracy = model.evaluate(test_dataset)
print('Test accuracy is :', accuracy)
print("Batch hình ảnh từ test set được truy xuất")
image_batch, label_batch = test_dataset.as_numpy_iterator().next()
predictions = model.predict_on_batch(image_batch).flatten()
print("Hàm sigmoid được áp dụng trên mô hình, nó trả về 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)
Nguồn mã: https://www.tensorflow.org/tutorials/images/transfer_learning
Đầu ra
Đánh giá và dự đoán 6/6 [==============================] - 3s 516ms/step - loss: 0.0276 - accuracy: 0.9844 Test accuracy is : 0.984375 Batch hình ảnh từ test set được truy xuất Hàm sigmoid được áp dụng trên mô hình, nó trả về 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 bây giờ có thể được 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 truyền làm đầu vào.
- Dự đoán phải là hình ảnh là chó hay mèo.