การกำหนดมาตรฐานข้อมูลหมายถึงการปรับขนาดชุดข้อมูลให้เป็นระดับเพื่อให้สามารถแสดงคุณลักษณะทั้งหมดโดยใช้หน่วยที่เทียบเท่ากัน เลเยอร์การปรับขนาดถูกสร้างขึ้นโดยใช้วิธีการ 'การปรับขนาด' ซึ่งมีอยู่ในโมดูล Keras เลเยอร์นี้ใช้กับชุดข้อมูลทั้งหมดโดยใช้วิธี "แผนที่"
อ่านเพิ่มเติม: TensorFlow คืออะไรและ Keras ทำงานร่วมกับ TensorFlow เพื่อสร้าง Neural Networks อย่างไร
เราจะใช้ชุดข้อมูลดอกไม้ซึ่งมีรูปภาพดอกไม้หลายพันดอก ประกอบด้วยไดเร็กทอรีย่อย 5 ไดเร็กทอรี และมีไดเร็กทอรีย่อยหนึ่งไดเร็กทอรีสำหรับทุกคลาส
เรากำลังใช้ Google Colaboratory เพื่อเรียกใช้โค้ดด้านล่าง Google Colab หรือ Colaboratory ช่วยเรียกใช้โค้ด Python บนเบราว์เซอร์และไม่ต้องมีการกำหนดค่าใดๆ และเข้าถึง GPU ได้ฟรี (หน่วยประมวลผลกราฟิก) Colaboratory สร้างขึ้นบน 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))
เครดิตโค้ด:https://www.tensorflow.org/tutorials/load_data/images
ผลลัพธ์
Standardizing the data using a rescaling layer This layer can be applied by calling the map function on the dataset 0.0 0.96902645
คำอธิบาย
- ค่าช่อง RGB อยู่ในช่วง 0 และ 255
- นี่ไม่ดีสำหรับโครงข่ายประสาทเทียม
- แนวคิดคือการทำให้ข้อมูลอินพุตมีขนาดเล็กที่สุด
- ค่าในภาพเป็นค่ามาตรฐาน โดยมีค่าเท่ากับ 0 และ 1
- ทำได้โดยใช้เลเยอร์การปรับขนาด
- ทางเลือกอื่นคือการรวมเลเยอร์การปรับขนาดนี้ไว้ในคำจำกัดความของโมเดล ซึ่งจะทำให้การปรับใช้ง่ายขึ้น