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

Tensorflow สามารถกำหนดค่าชุดข้อมูลดอกไม้เพื่อประสิทธิภาพได้อย่างไร


ชุดข้อมูลดอกไม้จะให้เปอร์เซ็นต์ความแม่นยำเมื่อสร้างแบบจำลอง หากจำเป็นต้องกำหนดค่าโมเดลเพื่อประสิทธิภาพ ระบบจะใช้การดึงข้อมูลล่วงหน้าของบัฟเฟอร์ร่วมกับเลเยอร์การปรับขนาด เลเยอร์นี้ใช้โดยใช้โมเดล Keras บนชุดข้อมูล โดยทำให้เลเยอร์การปรับขนาดเป็นส่วนหนึ่งของโมเดล Keras

อ่านเพิ่มเติม: TensorFlow คืออะไรและ Keras ทำงานร่วมกับ TensorFlow เพื่อสร้าง Neural Networks อย่างไร

เราจะใช้ชุดข้อมูลดอกไม้ซึ่งมีรูปภาพดอกไม้หลายพันดอก ประกอบด้วยไดเร็กทอรีย่อย 5 ไดเร็กทอรี และมี 1 ไดเร็กทอรีย่อยสำหรับทุกคลาส

เรากำลังใช้ Google Colaboratory เพื่อเรียกใช้โค้ดด้านล่าง Google Colab หรือ Colaboratory ช่วยเรียกใช้โค้ด Python บนเบราว์เซอร์และไม่ต้องมีการกำหนดค่าใดๆ และเข้าถึง GPU ได้ฟรี (หน่วยประมวลผลกราฟิก) Colaboratory ถูกสร้างขึ้นบน Jupyter Notebook

AUTOTUNE = tf.data.AUTOTUNE

train_ds = train_ds.cache().prefetch(buffer_size=AUTOTUNE)
val_ds = val_ds.cache().prefetch(buffer_size=AUTOTUNE)

num_classes = 5
print("A sequential model is built")
model = tf.keras.Sequential([
   layers.experimental.preprocessing.Rescaling(1./255),
   layers.Conv2D(32, 3, activation='relu'),
   layers.MaxPooling2D(),
   layers.Conv2D(32, 3, activation='relu'),
   layers.MaxPooling2D(),
   layers.Conv2D(32, 3, activation='relu'),
   layers.MaxPooling2D(),
   layers.Flatten(),
   layers.Dense(128, activation='relu'),
   layers.Dense(num_classes)
])

เครดิตโค้ด:https://www.tensorflow.org/tutorials/load_data/images

ผลลัพธ์

A sequential model is built

คำอธิบาย

  • ใช้การดึงข้อมูลล่วงหน้าแบบบัฟเฟอร์เพื่อให้สามารถรับข้อมูลจากดิสก์โดยไม่ต้องบล็อก I/O
  • นี่เป็นขั้นตอนสำคัญในการโหลดข้อมูล
  • เมธอด '.cache()' ช่วยเก็บภาพไว้ในหน่วยความจำหลังจากโหลดจากดิสก์ในยุคแรก
  • เพื่อให้แน่ใจว่าชุดข้อมูลจะไม่กลายเป็นสิ่งกีดขวางขณะฝึกโมเดล
  • หากชุดข้อมูลใหญ่เกินไปที่จะใส่ในหน่วยความจำ คุณสามารถใช้วิธีการเดียวกันนี้เพื่อสร้างแคชบนดิสก์ที่มีประสิทธิภาพ
  • เมธอด '.prefetch()' จะทับซ้อนการประมวลผลข้อมูลล่วงหน้าและการดำเนินการโมเดลในขณะที่ข้อมูลกำลังได้รับการฝึกอบรม