สมมติว่าเรามีชุดข้อมูลดอกไม้ สามารถดาวน์โหลดชุดข้อมูลดอกไม้ได้โดยใช้ google API ซึ่งโดยทั่วไปจะลิงก์ไปยังชุดข้อมูลดอกไม้ สามารถใช้เมธอด 'get_file' เพื่อส่ง API เป็นพารามิเตอร์ได้ เมื่อเสร็จแล้ว ข้อมูลจะถูกดาวน์โหลดไปยังสภาพแวดล้อม
สามารถมองเห็นได้โดยใช้ไลบรารี 'matplotlib' วิธีการ 'imshow' ใช้เพื่อแสดงภาพบนคอนโซล
อ่านเพิ่มเติม: TensorFlow คืออะไรและ Keras ทำงานร่วมกับ TensorFlow เพื่อสร้าง Neural Networks อย่างไร
เราจะใช้ Keras Sequential API ซึ่งมีประโยชน์ในการสร้างแบบจำลองตามลำดับที่ใช้ในการทำงานกับสแต็กเลเยอร์ธรรมดา โดยที่ทุกเลเยอร์มีอินพุตเทนเซอร์หนึ่งตัวและเอาต์พุตเทนเซอร์หนึ่งรายการ
ตัวแยกประเภทรูปภาพถูกสร้างขึ้นโดยใช้โมเดล keras.Sequential และโหลดข้อมูลโดยใช้ preprocessing.image_dataset_from_directory ข้อมูลถูกโหลดออกจากดิสก์อย่างมีประสิทธิภาพ มีการระบุการใส่มากเกินไปและมีการใช้เทคนิคเพื่อบรรเทาปัญหาดังกล่าว เทคนิคเหล่านี้รวมถึงการเสริมข้อมูลและการออกกลางคัน มีภาพดอกไม้ 3700 ดอก ชุดข้อมูลนี้มีไดเร็กทอรีย่อย 5 ไดเร็กทอรี และมีไดเร็กทอรีย่อยหนึ่งไดเร็กทอรีต่อคลาส เหล่านี้คือ:
- เดซี่
- ดอกแดนดิไลอัน
- ดอกกุหลาบ
- ดอกทานตะวัน และ
- ทิวลิป.
เรากำลังใช้ Google Colaboratory เพื่อเรียกใช้โค้ดด้านล่าง Google Colab หรือ Colaboratory ช่วยเรียกใช้โค้ด Python บนเบราว์เซอร์และไม่ต้องมีการกำหนดค่าใดๆ และเข้าถึง GPU ได้ฟรี (หน่วยประมวลผลกราฟิก) Colaboratory สร้างขึ้นบน Jupyter Notebook
print("Visualizing the dataset") import matplotlib.pyplot as plt plt.figure(figsize=(10, 10)) for images, labels in train_ds.take(1): for i in range(6): ax = plt.subplot(3, 3, i + 1) plt.imshow(images[i].numpy().astype("uint8")) plt.title(class_names[labels[i]]) plt.axis("off") for image_batch, labels_batch in train_ds: print(image_batch.shape) print(labels_batch.shape) break
เครดิตโค้ด:https://www.tensorflow.org/tutorials/images/classification
ผลลัพธ์
Visualizing the dataset (32, 180, 180, 3) (32,)
คำอธิบาย
- เมื่อข้อมูลได้รับการฝึกอบรมโดยใช้วิธีการพอดีแล้ว ยังสามารถทำซ้ำชุดข้อมูลด้วยตนเองเพื่อดึงข้อมูลเป็นกลุ่ม
- ข้อมูลนี้แสดงบนคอนโซล
- image_batch คือเทนเซอร์ของรูปร่าง (32, 180, 180, 3)
- นี่คือชุดรูปภาพขนาด 180x180x3 จำนวน 32 รูป
- label_batch คือเทนเซอร์ของรูปร่าง (32,) และสิ่งเหล่านี้คือป้ายกำกับที่สัมพันธ์กับรูปภาพ 32 รูป
- เรียก .numpy() ได้บน image_batch และ labels_batch เทนเซอร์เพื่อแปลงเป็น numpy.ndarray