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 tập dữ liệu về hoa?

Chuẩn hóa dữ liệu đề cập đến hành động mở rộng tập dữ liệu đến một mức độ để tất cả các tính năng có thể được biểu diễn bằng cách sử dụng các đơn vị tương đương. Lớp thay đổi tỷ lệ được xây dựng bằng phương pháp 'Thay đổi tỷ lệ' có trong mô-đun Keras. Lớp đượ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 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.

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.

from tensorflow.keras import layers
print("Standardizing the data using a rescaling layer")
normalization_layer = tf.keras.layers.experimental.preprocessing.Rescaling(1./255)

print("This layer can be applied by calling the map function on the dataset")
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/load_data/images

Đầu ra

Standardizing the data using a rescaling layer
This layer can be applied by calling the map function on the dataset
0.0 0.96902645

Giải thích

  • Các giá trị kênh RGB nằm trong khoảng 0 và 255.
  • Điều này không tốt cho mạng nơ-ron.
  • Ý tưởng là làm cho dữ liệu đầu vào càng nhỏ càng tốt.
  • Các giá trị trong hình ảnh được tiêu chuẩn hóa, nằm trong vùng 0 và 1.
  • Điều này được thực hiện với sự trợ giúp của lớp thay đổi tỷ lệ.
  • Cách khác là đưa lớp thay đổi tỷ lệ này vào định nghĩa của mô hình, điều này sẽ đơn giản hóa việc triển khai.