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

Làm thế nào có thể sử dụng Keras để huấn luyện mô hình bằng Chương trình Python?

Keras được phát triển như một phần của nghiên cứu cho dự án ONEIROS (Hệ điều hành Robot thông minh điện tử thần kinh 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ó chạy trên khuôn khổ Tensorflow. Nó được xây dựng để giúp thử nghiệm một cách nhanh chóng. Nó cung cấp các khối xây dựng và trừu tượng thiết yếu cần thiết trong việc phát triển và đóng gói các giải pháp học máy.

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

API chức năng Keras giúp tạo các mô hình linh hoạt hơn so với các mô hình được tạo bằng API tuần tự. API chức năng có thể hoạt động với các mô hình có cấu trúc liên kết phi tuyến tính, có thể chia sẻ các lớp và hoạt động với nhiều đầu vào và đầu ra. Mô hình học sâu thường là một đồ thị xoay chiều có hướng (DAG) chứa nhiều lớp. API chức năng giúp xây dựng biểu đồ của các lớ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. Sau đây là đoạn mã để đào tạo mô hình -

Ví dụ

print("The model is being plotted")
keras.utils.plot_model(model, "my_resnet.png", show_shapes=True)
print("Split the data into training and test data")
(x_train, y_train), (x_test, y_test) = keras.datasets.cifar10.load_data()
print("Convert the type of data to float")
x_train = x_train.astype("float32") / 255.0
x_test = x_test.astype("float32") / 255.0
y_train = keras.utils.to_categorical(y_train, 10)
y_test = keras.utils.to_categorical(y_test, 10)
print("Compiling the model")
model.compile(
   optimizer=keras.optimizers.RMSprop(1e-3),
   loss=keras.losses.CategoricalCrossentropy(from_logits=True),
   metrics=["acc"],
)
model.fit(x_train[:2000], y_train[:2000], batch_size=64, epochs=2, validation_split=0.2)

Tín dụng mã - https://www.tensorflow.org/guide/keras/f Chức năng

Đầu ra

The model is being plotted
Split the data into training and test data
Downloading data from https://www.cs.toronto.edu/~kriz/cifar-10-python.tar.gz
170500096/170498071 [==============================] - 2s 0us/step
Convert the type of data to float
Compiling the model
Epoch 1/2
25/25 [==============================] - 9s 332ms/step - loss: 2.3163 - acc: 0.1028 -
val_loss: 2.2962 - val_acc: 0.1175
Epoch 2/2
25/25 [==============================] - 12s 492ms/step - loss: 2.3155 - acc: 0.1175 -
val_loss: 2.2606 - val_acc: 0.1200
<tensorflow.python.keras.callbacks.History at 0x7f48d3ecfb00>

Giải thích

  • Dữ liệu đầu vào được chia thành tập dữ liệu đào tạo và kiểm tra.

  • Kiểu dữ liệu được chuyển đổi thành kiểu 'float'.

  • Mô hình được biên dịch bằng phương thức "biên dịch".

  • Phương pháp 'fit' được sử dụng để điều chỉnh mô hình với dữ liệu đào tạo.