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

Tensorflow có thể được sử dụng như thế nào để đào tạo và biên dịch một mô hình CNN?

Một mạng nơ-ron tích tụ có thể được huấn luyện và biên dịch bằng cách sử dụng phương pháp "train" và phương thức "fit" tương ứng. Giá trị "epoch" được cung cấp trong phương thức "fit".

Đọc thêm: TensorFlow là gì và cách Keras làm việc với TensorFlow để tạo Mạng thần kinh?

Chúng tôi sẽ sử dụng API tuần tự Keras, hữu ích trong việc xây dựng mô hình tuần tự được sử dụng để làm việc với một chồng lớp đơn giản, trong đó mỗi lớp có chính xác một tensor đầu vào và một tensor đầu ra.

Mạng nơ-ron chứa ít nhất một lớp được gọi là lớp chập. Mạng nơ-ron hợp hiến đã được sử dụng để tạo ra kết quả tuyệt vời cho một loại vấn đề cụ thể, chẳng hạn như nhận dạng hình ảnh.

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.

print("Compiling the model")
model.compile(optimizer='adam',loss=tf.keras.losses.SparseCategoricalCrossentropy(from_logits=True),
   metrics=['accuracy'])
print("Training the model to fit the data")
history = model.fit(train_images, train_labels, epochs=10,validation_data=(test_images, test_labels))

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

Đầu ra

Compiling the model
Training the model to fit the data
Epoch 1/10
1563/1563 [==============================] - 70s 44ms/step - loss: 1.7408 - accuracy: 0.3557 - val_loss: 1.2260 - val_accuracy: 0.5509
Epoch 2/10
1563/1563 [==============================] - 67s 43ms/step - loss: 1.1928 - accuracy: 0.5751 - val_loss: 1.0800 - val_accuracy: 0.6159
Epoch 3/10
1563/1563 [==============================] - 68s 43ms/step - loss: 1.0330 - accuracy: 0.6396 - val_loss: 0.9791 - val_accuracy: 0.6562
Epoch 4/10
1563/1563 [==============================] - 66s 43ms/step - loss: 0.9197 - accuracy: 0.6782 - val_loss: 0.9488 - val_accuracy: 0.6677
Epoch 5/10
1563/1563 [==============================] - 65s 42ms/step - loss: 0.8388 - accuracy: 0.7043 - val_loss: 0.9090 - val_accuracy: 0.6851
Epoch 6/10
1563/1563 [==============================] - 66s 42ms/step - loss: 0.7755 - accuracy: 0.7279 - val_loss: 0.8694 - val_accuracy: 0.6944
Epoch 7/10
1563/1563 [==============================] - 66s 42ms/step - loss: 0.7107 - accuracy: 0.7494 - val_loss: 0.9152 - val_accuracy: 0.6929
Epoch 8/10
1563/1563 [==============================] - 65s 42ms/step - loss: 0.6674 - accuracy: 0.7649 - val_loss: 0.8613 - val_accuracy: 0.7045
Epoch 9/10
1563/1563 [==============================] - 66s 42ms/step - loss: 0.6288 - accuracy: 0.7771 - val_loss: 0.8788 - val_accuracy: 0.7026
Epoch 10/10
1563/1563 [==============================] - 66s 42ms/step - loss: 0.5913 - accuracy: 0.7953 - val_loss: 0.8884 - val_accuracy: 0.7053

Giải thích

  • Mô hình được biên dịch.
  • Bước tiếp theo là đào tạo mô hình để phù hợp với dữ liệu đào tạo.
  • Số bước để đào tạo dữ liệu là 10.