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

Tensorflow สามารถใช้เพื่อแสดงภาพข้อมูลโดยใช้ Python ได้อย่างไร


สมมติว่าเรามีชุดข้อมูลดอกไม้ สามารถดาวน์โหลดชุดข้อมูลดอกไม้ได้โดยใช้ 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,)

Tensorflow สามารถใช้เพื่อแสดงภาพข้อมูลโดยใช้ Python ได้อย่างไร

คำอธิบาย

  • เมื่อข้อมูลได้รับการฝึกอบรมโดยใช้วิธีการพอดีแล้ว ยังสามารถทำซ้ำชุดข้อมูลด้วยตนเองเพื่อดึงข้อมูลเป็นกลุ่ม
  • ข้อมูลนี้แสดงบนคอนโซล
  • image_batch คือเทนเซอร์ของรูปร่าง (32, 180, 180, 3)
  • นี่คือชุดรูปภาพขนาด 180x180x3 จำนวน 32 รูป
  • label_batch คือเทนเซอร์ของรูปร่าง (32,) และสิ่งเหล่านี้คือป้ายกำกับที่สัมพันธ์กับรูปภาพ 32 รูป
  • เรียก .numpy() ได้บน image_batch และ labels_batch เทนเซอร์เพื่อแปลงเป็น numpy.ndarray