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.