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

Làm cách nào để xáo trộn dữ liệu đã xử lý trước bằng Tensorflow và Python?

Tensorflow là một khuôn khổ học máy được cung cấp bởi Google. 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. Nó có 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 một cách nhanh chóng. Điều này là do nó sử dụng NumPy và các mảng đa chiều. Các mảng đa chiều này còn được gọi là 'tensors'. Khung hỗ trợ làm việc với mạng nơ-ron sâu.

Gói 'tensorflow' có thể được cài đặt trên Windows bằng dòng mã bên dưới -

pip install tensorflow

Tensor là một cấu trúc dữ liệu được sử dụng trong TensorFlow. Nó giúp kết nối các cạnh trong một sơ đồ luồng. Sơ đồ luồng này được gọi là 'Biểu đồ luồng dữ liệu'. Tensors không là gì khác ngoài một mảng đa chiều hoặc một danh sách.

Chúng tôi sẽ sử dụng tập dữ liệu của Illiad, chứa dữ liệu văn bản của ba tác phẩm dịch của William Cowper, Edward (Bá tước Derby) và Samuel Butler. Mô hình được đào tạo để xác định người dịch khi một dòng văn bản được đưa ra. Các tệp văn bản được sử dụng đã được xử lý trước. Điều này bao gồm việc xóa đầu trang và chân trang của tài liệu, số dòng và tiêu đề chương.

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.

Ví dụ

Sau đây là đoạn mã -

print("Combine the labelled dataset and reshuffle it")
BUFFER_SIZE = 50000
BATCH_SIZE = 64
VALIDATION_SIZE = 5000
all_labeled_data = labeled_data_sets[0]
for labeled_dataset in labeled_data_sets[1:]:
   all_labeled_data = all_labeled_data.concatenate(labeled_dataset)
all_labeled_data = all_labeled_data.shuffle(
   BUFFER_SIZE, reshuffle_each_iteration=False)
print("Displaying a few samples of input data")
for text, label in all_labeled_data.take(8):
   print("The sentence is : ", text.numpy())
   print("The label is :", label.numpy())

Tín dụng mã - https://www.tensorflow.org/tutorials/load_data/text

Đầu ra

Combine the labelled dataset and reshuffle it
Displaying a few samples of input data
The sentence is : b'But I have now both tasted food, and given'
The label is : 0
The sentence is : b'All these shall now be thine: but if the Gods'
The label is : 1
The sentence is : b'Their spiry summits waved. There, unperceived'
The label is : 0
The sentence is : b'"I pray you, would you show your love, dear friends,'
The label is : 1
The sentence is : b'Entering beneath the clavicle the point'
The label is : 0
The sentence is : b'But grief, his father lost, awaits him now,'
The label is : 1
The sentence is : b'in the fore-arm where the sinews of the elbow are united, whereon he'
The label is : 2
The sentence is : b'For, as I think, I have already chased'
The label is : 0

Giải thích

  • Sau khi xử lý trước dữ liệu, một vài mẫu từ tập dữ liệu được hiển thị trên bảng điều khiển.

  • Dữ liệu không được nhóm lại, có nghĩa là mọi mục nhập trong ‘all_labeled_data’ ánh xạ đến một điểm dữ liệu.