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

Tensorflow có thể được sử dụng như thế nào để chuẩn hóa dữ liệu bằng Python?

Chúng tôi sẽ sử dụng tập dữ liệu về hoa, chứa hình ảnh của hàng nghìn bông hoa. Nó chứa 5 thư mục con và có một thư mục con cho mọi lớp. Khi tập dữ liệu hoa đã được tải xuống bằng phương thức ‘get_file’, nó sẽ được tải vào môi trường để làm việc với nó.

Dữ liệu hoa có thể được chuẩn hóa bằng cách đưa vào một lớp chuẩn hóa trong mô hình. Lớp này được gọi là lớp "Thay đổi tỷ lệ", được áp dụng cho toàn bộ tập dữ liệu bằng phương pháp "bản đồ".

Đọ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 đ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("Normalization layer is created ")
normalization_layer = layers.experimental.preprocessing.Rescaling(1./255)
print("This layer is applied to dataset using map function ")
normalized_ds = train_ds.map(lambda x, y: (normalization_layer(x), y))
image_batch, labels_batch = next(iter(normalized_ds))
first_image = image_batch[0]
print(np.min(first_image), np.max(first_image))

Tín dụng mã:https://www.tensorflow.org/tutorials/images/classification

Đầu ra

Normalization layer is created
This layer is applied to dataset using map function
0.0 1.0

Giải thích

  • Các giá trị kênh RGB nằm trong khoảng [0, 255].
  • Điều này không được coi là lý tưởng cho mạng nơ-ron.
  • Theo quy tắc chung, hãy đảm bảo rằng các giá trị đầu vào nhỏ.
  • Do đó, chúng tôi có thể chuẩn hóa các giá trị nằm trong khoảng [0, 1].
  • Điều này được thực hiện bằng cách sử dụng lớp Thay đổi tỷ lệ.
  • Nó có thể được thực hiện bằng cách áp dụng lớp trên tập dữ liệu bằng cách gọi hàm bản đồ.
  • Một cách khác để thực hiện là đưa lớp vào định nghĩa mô hình.
  • Điều này sẽ đơn giản hóa quá trình triển khai.