Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

TensorFlow và mô hình tiền huấn luyện có thể được sử dụng để trực quan hóa dữ liệu bằng Python như thế nào?


TensorFlow và mô hình tiền huấn luyện có thể được sử dụng để trực quan hóa dữ liệu bằng thư viện 'matplotlib'. Phương thức 'plot' được dùng để vẽ dữ liệu trên console.

Đọ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("Trực quan hóa dữ liệu")
plt.figure(figsize=(8, 8))
plt.subplot(2, 1, 1)
plt.plot(acc, label='Training Accuracy')
plt.plot(val_acc, label='Validation Accuracy')
plt.ylim([0.8, 1])
plt.plot([initial_epochs-1,initial_epochs-1], plt.ylim(), label='Start Fine Tuning')
plt.legend(loc='lower right')
plt.title('Training and Validation Accuracy')
plt.subplot(2, 1, 2)
plt.plot(loss, label='Training Loss')
plt.plot(val_loss, label='Validation Loss')
plt.ylim([0, 1.0])
plt.plot([initial_epochs-1,initial_epochs-1], plt.ylim(), label='Start Fine Tuning')
plt.legend(loc='upper right')
plt.title('Training and Validation Loss')
plt.xlabel('epoch')
plt.show()

Nguồn mã: https://www.tensorflow.org/tutorials/images/transfer_learning

Đầu ra

TensorFlow và mô hình tiền huấn luyện có thể được sử dụng để trực quan hóa dữ liệu bằng Python như thế nào?

Giải thích

  • Đường cong học tập của training và validation accuracy/loss được trực quan hóa.
  • Điều này được thực hiện sau khi fine-tuning được thực hiện.
  • Validation loss cao hơn training loss, có nghĩa là có overfitting.
  • Overfitting này cũng có thể do tập dữ liệu huấn luyện tương đối nhỏ và tương tự với tập dữ liệu MobileNet V2 gốc.
  • Sau fine-tuning, mô hình đạt 98% accuracy trên validation set.