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

Keras có thể được sử dụng như thế nào để tiết kiệm trọng số cho mô hình sau một số kỷ nguyên cụ thể trong Python?


Tensorflow là một khuôn khổ học máy do Google cung cấp. Nó là một khung công tác mã nguồn mở được sử dụng cùng với Python để triển khai các thuật toán, ứng dụng học sâu và hơn thế nữa. Nó được sử dụng trong nghiên cứu và cho mục đích sản xuất.

Nó có các kỹ thuật tối ưu hóa giúp thực hiện các phép toán phức tạp một cách nhanh chóng.

Gói 'tensorflow' có thể được cài đặt trên Windows bằng dòng mã bên dưới -

pip install tensorflow

Tensor là một cấu trúc dữ liệu được sử dụng trong TensorFlow. Nó giúp kết nối các cạnh trong một sơ đồ luồng. Sơ đồ luồng này được gọi là 'Biểu đồ luồng dữ liệu'. Tensors không là gì ngoài mảng nhiều chiều hoặc một danh sách.

Keras được phát triển như một phần nghiên cứu cho dự án ONEIROS (Hệ điều hành Robot thông minh điện tử Neuro kết thúc mở). Keras là một API học sâu, được viết bằng Python. Đây là một API cấp cao có giao diện hiệu quả giúp giải quyết các vấn đề về máy học.

Nó có khả năng mở rộng cao và đi kèm với các khả năng đa nền tảng. Điều này có nghĩa là Keras có thể chạy trên TPU hoặc các cụm GPU. Các mô hình Keras cũng có thể được xuất để chạy trong trình duyệt web hoặc điện thoại di động.

Keras đã có trong gói Tensorflow. Nó có thể được truy cập bằng cách sử dụng dòng mã dưới đây.

import tensorflow
from tensorflow import keras

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.

Sau đây là mã -

Ví dụ

checkpoint_path = "training_2/cp−{epoch:04d}.ckpt"
checkpoint_dir = os.path.dirname(checkpoint_path)

batch_size = 32
print("Callback being created to save the model's weight after every 4 epoch")
cp_callback = tf.keras.callbacks.ModelCheckpoint(
   filepath=checkpoint_path,
   verbose=1,
   save_weights_only=True,
   save_freq=4*batch_size)

print("A new model instance is created")
model = create_model()
print("The weights are saved using 'checkpoint_path'")
model.save_weights(checkpoint_path.format(epoch=0))

Tín dụng mã - https://www.tensorflow.org/tutorials/keras/save_and_load

Đầu ra

Callback being created to save the model's weight after every 4 epoch
A new model instance is created
The weight are saved using 'checkpoint_path'

Giải thích

  • Lệnh gọi lại có nhiều tùy chọn như cung cấp tên không xác định cho các điểm kiểm tra, điều chỉnh tần suất kiểm tra, v.v.

  • Mô hình mới được đào tạo.

  • Mô hình mới này được lưu với một tên duy nhất cho mọi trạm kiểm soát sau mỗi 4 kỷ nguyên.