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

Làm cách nào để Tensorflow có thể được sử dụng để thêm thứ nguyên hàng loạt và chuyển hình ảnh vào mô hình bằng Python?

Tensorflow có thể được sử dụng để thêm kích thước hàng loạt và chuyển hình ảnh vào mô hình bằng cách chuyển đổi hình ảnh thành mảng Numpy.

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

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. Khi điều này được thực hiện, 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 nào.

Ví dụ

grace_hopper = np.array(grace_hopper)/255.0
print("The dimensions of the image are")
print(grace_hopper.shape)
result = classifier.predict(grace_hopper[np.newaxis, ...])
print("The dimensions of the resultant image are")
print(result.shape)
predicted_class = np.argmax(result[0], axis=-1)
print("The predicted class is")
print(predicted_class)

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

Đầu ra

The dimensions of the image are
(224, 224, 3)
The dimensions of the resultant image are
(1, 1001)
The predicted class is
819

Giải thích

  • Thứ nguyên hàng loạt được thêm vào.
  • Hình ảnh được chuyển tới mô hình.
  • Kết quả là một vectơ phần tử 1001 của logits.
  • Điều này sẽ đánh giá xác suất của mọi lớp đối với hình ảnh.