Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

Tensorflow จะใช้เพื่อสร้างมาตรฐานชุดข้อมูลดอกไม้ได้อย่างไร


การกำหนดมาตรฐานข้อมูลหมายถึงการปรับขนาดชุดข้อมูลให้เป็นระดับเพื่อให้สามารถแสดงคุณลักษณะทั้งหมดโดยใช้หน่วยที่เทียบเท่ากัน เลเยอร์การปรับขนาดถูกสร้างขึ้นโดยใช้วิธีการ 'การปรับขนาด' ซึ่งมีอยู่ในโมดูล 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
  • ทำได้โดยใช้เลเยอร์การปรับขนาด
  • ทางเลือกอื่นคือการรวมเลเยอร์การปรับขนาดนี้ไว้ในคำจำกัดความของโมเดล ซึ่งจะทำให้การปรับใช้ง่ายขึ้น