TensorFlow là một framework học máy mã nguồn mở do Google phát triển, được sử dụng rộng rãi cùng với Python để triển khai các thuật toán, ứng dụng học sâu và nhiều tác vụ khác. Framework này hỗ trợ cả nghiên cứu và môi trường sản xuất, với 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 nhanh chóng nhờ sử dụng NumPy và mảng đa chiều (tensor).
Chuẩn bị môi trường và dữ liệu
Để cài đặt TensorFlow trên Windows, chạy lệnh:
pip install tensorflow
Chúng ta sẽ sử dụng bộ dữ liệu Iliad chứa văn bản từ ba bản dịch của William Cowper, Edward (Earl of Derby) và Samuel Butler. Mục tiêu là huấn luyện mô hình nhận diện người dịch khi đưa vào một dòng văn bản. Dữ liệu đã được tiền xử lý: loại bỏ header, footer, số dòng và tiêu đề chương.
Mã nguồn được chạy trên Google Colaboratory (Colab) - môi trường Jupyter Notebook trên đám mây miễn phí với hỗ trợ GPU, không cần cấu hình.
Triển khai huấn luyện
Dưới đây là đoạn mã chính để cấu hình dữ liệu, xây dựng và huấn luyện mô hình:
vocab_size += 2
print("Cấu hình tập dữ liệu để tối ưu hiệu năng")
train_data = configure_dataset(train_data)
validation_data = configure_dataset(validation_data)
print("Khởi tạo mô hình")
model = create_model(vocab_size=vocab_size, num_labels=3)
model.compile(
optimizer='adam',
loss=losses.SparseCategoricalCrossentropy(from_logits=True),
metrics=['accuracy']
)
print("Huấn luyện mô hình với dữ liệu train")
history = model.fit(train_data, validation_data=validation_data, epochs=3)
print("Đánh giá độ chính xác và loss")
loss, accuracy = model.evaluate(validation_data)
print("Loss:", loss)
print("Accuracy: {:2.2%}".format(accuracy))
Kết quả huấn luyện
Cấu hình tập dữ liệu để tối ưu hiệu năng Khởi tạo mô hình Huấn luyện mô hình với dữ liệu train Epoch 1/3: loss: 0.6891 - accuracy: 0.6736 - val_loss: 0.3718 - val_accuracy: 0.8404 Epoch 2/3: loss: 0.3149 - accuracy: 0.8713 - val_loss: 0.3621 - val_accuracy: 0.8422 Epoch 3/3: loss: 0.2165 - accuracy: 0.9162 - val_loss: 0.4002 - val_accuracy: 0.8404 Đánh giá độ chính xác và loss Loss: 0.40021833777427673 Accuracy: 84.04%
Giải thích quy trình
- Mô hình được huấn luyện trên tập dữ liệu đã tiền xử lý và vector hóa.
- Sau khi chuẩn bị xong, mô hình được compile và fit với dữ liệu huấn luyện.
- Loss và accuracy được đánh giá bằng phương thức
evaluate()trên tập validation. - Kết quả hiển thị mô hình đạt độ chính xác ~84% trên tập kiểm tra.
Nguồn mã: TensorFlow Text Loading Tutorial