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

Tensorflow có thể được sử dụng như thế nào để đính kèm đầu phân loại bằng Python?

TensorFlow có thể được sử dụng để đính kèm đầu phân loại bằng cách sử dụng mô hình tuần tự có Lớp dày đặc, sử dụng mô hình trích xuất tính năng đã được xác định trước đó.

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

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("Attaching a classification head")
num_classes = len(class_names)
model = tf.keras.Sequential([
   feature_extractor_layer,
   tf.keras.layers.Dense(num_classes)
])
print("The base architecture of the model")
model.summary()
print("The predictions are made")
predictions = model(image_batch)
print("The dimensions of the predictions")
predictions.shape

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

Đầu ra

Attaching a classification head
The base architecture of the model
Model: "sequential_3"
_________________________________________________________________
Layer (type)                Output Shape        Param #
=================================================================
keras_layer_1 (KerasLayer) (None, 1280)        2257984
_________________________________________________________________
dense_3 (Dense)           (None, 5)            6405
=================================================================
Total params: 2,264,389
Trainable params: 6,405
Non-trainable params: 2,257,984
_________________________________________________________________
The predictions are made
The dimensions of the predictions
TensorShape([32, 5])

Giải thích

  • Đầu phân loại được gắn vào mô hình.
  • Sau khi điều này được thực hiện, kiến ​​trúc cơ sở của mô hình sẽ được xác định.
  • Điều này được thực hiện với sự trợ giúp của phương pháp "tóm tắt".
  • Kích thước của dữ liệu được xác định.
  • Thông tin này được hiển thị trên bảng điều khiển.