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 kết hợp 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.
Gói 'tensorflow' có thể được cài đặt trên Windows bằng dòng mã bên dưới -
pip install tensorflow
Tập dữ liệu ‘IMDB’ chứa các bài đánh giá hơn 50 nghìn bộ phim. Tập dữ liệu này thường được sử dụng với các hoạt động liên quan đến Xử lý ngôn ngữ tự nhiên.
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ã để xác định một hàm mất mát, một trình tối ưu hóa, đào tạo mô hình và đánh giá nó trên tập dữ liệu IMDB -
model.compile(loss=losses.BinaryCrossentropy(from_logits=True), optimizer='adam', metrics=tf.metrics.BinaryAccuracy(threshold=0.0)) epochs = 10 history = model.fit( train_ds, validation_data=val_ds, epochs=epochs) loss, accuracy = model.evaluate(test_ds) print("Loss is : ", loss) print("Accuracy is : ", accuracy)
Mã tín dụng - https://www.tensorflow.org/tutorials/keras/text_classification
Đầu ra
Epoch 1/10 625/625 [==============================] - 12s 19ms/step - loss: 0.6818 - binary_accuracy: 0.6130 - val_loss: 0.6135 - val_binary_accuracy: 0.7750 Epoch 2/10 625/625 [==============================] - 4s 7ms/step - loss: 0.5785 - binary_accuracy: 0.7853 - val_loss: 0.4971 - val_binary_accuracy: 0.8230 Epoch 3/10 625/625 [==============================] - 4s 7ms/step - loss: 0.4651 - binary_accuracy: 0.8372 - val_loss: 0.4193 - val_binary_accuracy: 0.8470 Epoch 4/10 625/625 [==============================] - 4s 7ms/step - loss: 0.3901 - binary_accuracy: 0.8635 - val_loss: 0.3732 - val_binary_accuracy: 0.8612 Epoch 5/10 625/625 [==============================] - 4s 7ms/step - loss: 0.3435 - binary_accuracy: 0.8771 - val_loss: 0.3444 - val_binary_accuracy: 0.8688 Epoch 6/10 625/625 [==============================] - 4s 7ms/step - loss: 0.3106 - binary_accuracy: 0.8877 - val_loss: 0.3255 - val_binary_accuracy: 0.8730 Epoch 7/10 625/625 [==============================] - 5s 7ms/step - loss: 0.2855 - binary_accuracy: 0.8970 - val_loss: 0.3119 - val_binary_accuracy: 0.8732 Epoch 8/10 625/625 [==============================] - 5s 7ms/step - loss: 0.2652 - binary_accuracy: 0.9048 - val_loss: 0.3027 - val_binary_accuracy: 0.8772 Epoch 9/10 625/625 [==============================] - 5s 7ms/step - loss: 0.2481 - binary_accuracy: 0.9125 - val_loss: 0.2959 - val_binary_accuracy: 0.8782 Epoch 10/10 625/625 [==============================] - 5s 7ms/step - loss: 0.2328 - binary_accuracy: 0.9161 - val_loss: 0.2913 - val_binary_accuracy: 0.8792 782/782 [==============================] - 10s 12ms/step - loss: 0.3099 - binary_accuracy: 0.8741 Loss is : 0.3099007308483124 Accuracy is : 0.8741199970245361
Giải thích
-
Sau khi xây dựng xong mô hình, nó sẽ được biên dịch bằng chức năng "compile".
-
Tại đây, số bước được xác định để đào tạo mô hình là 10.
-
Hàm 'fit' được sử dụng để điều chỉnh dữ liệu với mô hình đã được tạo.
-
Hàm 'đánh giá' được sử dụng để tính toán tổn thất và độ chính xác của mô hình trên tập dữ liệu thử nghiệm.
-
Các giá trị về mất mát và độ chính xác được hiển thị trên bảng điều khiển.