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

เราจะใช้ Tensorflow เพื่อแบ่งชุดข้อมูลดอกไม้ออกเป็นการฝึกและการตรวจสอบได้อย่างไร


ชุดข้อมูลดอกไม้สามารถแบ่งออกเป็นชุดการฝึกและการตรวจสอบได้ โดยใช้ keras preprocessing API ด้วยความช่วยเหลือของ "image_dataset_from_directory" ซึ่งจะขอแบ่งเปอร์เซ็นต์สำหรับชุดการตรวจสอบความถูกต้อง

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

ตัวแยกประเภทรูปภาพถูกสร้างขึ้นโดยใช้โมเดล keras.Sequential และโหลดข้อมูลโดยใช้ preprocessing.image_dataset_from_directory . ข้อมูลถูกโหลดออกจากดิสก์อย่างมีประสิทธิภาพ มีการระบุการใส่มากเกินไปและมีการใช้เทคนิคเพื่อบรรเทาปัญหาดังกล่าว เทคนิคเหล่านี้รวมถึงการเสริมข้อมูลและการออกกลางคัน มีภาพดอกไม้ 3700 ดอก ชุดข้อมูลนี้มีไดเร็กทอรีย่อย 5 ไดเร็กทอรี และมีไดเร็กทอรีย่อยหนึ่งไดเร็กทอรีต่อคลาส ได้แก่ เดซี่ ดอกแดนดิไลออน กุหลาบ ทานตะวัน และทิวลิป

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

batch_size = 32
img_height = 180
img_width = 180
print("The data is being split into training and validation set")
train_ds = tf.keras.preprocessing.image_dataset_from_directory(
   data_dir,
   validation_split=0.2,
   subset="training",
   seed=123,
   image_size=(img_height, img_width),
   batch_size=batch_size)

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

ผลลัพธ์

The data is being split into training and validation set
Found 3670 files belonging to 5 classes.
Using 2936 files for training.

คำอธิบาย

  • อิมเมจเหล่านี้โหลดจากดิสก์โดยใช้ยูทิลิตี้ image_dataset_from_directory
  • สิ่งนี้จะไปจากไดเร็กทอรีของรูปภาพบนดิสก์ไปยัง tf.data.Dataset
  • เมื่อดาวน์โหลดข้อมูลแล้ว จะมีการกำหนดพารามิเตอร์บางอย่างสำหรับตัวโหลด
  • ข้อมูลถูกแบ่งออกเป็นชุดการฝึกและการตรวจสอบ