Lướt nhanh cơ bản TensorFlow 2.0

Xem trên TensorFlow.org Chạy trên Google Colab Xem mã nguồn trên GitHub Tải notebook

Để đăng ký dịch hoặc duyệt lại nội dung bản dịch, các bạn hãy liên hệ docs@tensorflow.org.

Đây là một tệp notebook Google Colaboratory. Các chương trình Python sẽ chạy trực tiếp trong trình duyệt, giúp bạn dễ dàng tìm hiểu và sử dụng TensorFlow. Để làm theo giáo trình này, chạy notebook trên Google Colab bằng cách nhấp vào nút ở đầu trang.

  1. Trong Colab, kết nối đến Python runtime: Ở phía trên cùng bên phải của thanh menu, chọn CONNECT.
  2. Chạy tất cả các ô chứa mã trong notebook: Chọn Runtime > Run all.

Tải và cài đặt TensorFlow 2.0 RC. Import TensorFlow vào chương trình:

from __future__ import absolute_import, division, print_function, unicode_literals

# Install TensorFlow

import tensorflow as tf

Load và chuẩn bị tập dữ liệu MNIST. Chuyển kiểu dữ liệu của các mẫu từ số nguyên sang số thực dấu phẩy động:

mnist = tf.keras.datasets.mnist

(x_train, y_train), (x_test, y_test) = mnist.load_data()
x_train, x_test = x_train / 255.0, x_test / 255.0
Downloading data from https://storage.googleapis.com/tensorflow/tf-keras-datasets/mnist.npz
11493376/11490434 [==============================] - 0s 0us/step

Xây dựng mô hình tf.keras.Sequential bằng cách xếp chồng các layers. Chọn trình tối ưu hoá (optimizer) và hàm thiệt hại (loss) để huấn luyện:

model = tf.keras.models.Sequential([
  tf.keras.layers.Flatten(input_shape=(28, 28)),
  tf.keras.layers.Dense(128, activation='relu'),
  tf.keras.layers.Dropout(0.2),
  tf.keras.layers.Dense(10, activation='softmax')
])

model.compile(optimizer='adam',
              loss='sparse_categorical_crossentropy',
              metrics=['accuracy'])

Huấn luyện và đánh giá mô hình:

model.fit(x_train, y_train, epochs=5)

model.evaluate(x_test,  y_test, verbose=2)
Train on 60000 samples
Epoch 1/5
60000/60000 [==============================] - 5s 81us/sample - loss: 0.2931 - accuracy: 0.9141
Epoch 2/5
60000/60000 [==============================] - 4s 66us/sample - loss: 0.1423 - accuracy: 0.9572
Epoch 3/5
60000/60000 [==============================] - 4s 65us/sample - loss: 0.1082 - accuracy: 0.9667
Epoch 4/5
60000/60000 [==============================] - 4s 64us/sample - loss: 0.0861 - accuracy: 0.9730
Epoch 5/5
60000/60000 [==============================] - 4s 64us/sample - loss: 0.0755 - accuracy: 0.9759
10000/1 - 1s - loss: 0.0374 - accuracy: 0.9764

[0.07391100668478758, 0.9764]

Mô hình phân loại ảnh này, sau khi được huấn luyện bằng tập dữ liệu trên, đạt độ chính xác (accuracy) ~98%. Để tìm hiểu thêm, bạn có thể đọc Giáo trình TensorFlow.