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

Tensorflow สามารถใช้กับ tf.data เพื่อการควบคุมที่ละเอียดยิ่งขึ้นโดยใช้ Python ได้อย่างไร


"tf.Data" ช่วยในการปรับแต่งไปป์ไลน์การสร้างแบบจำลอง โดยการสับเปลี่ยนข้อมูลในชุดข้อมูลเพื่อให้ข้อมูลทุกประเภทมีการกระจายอย่างเท่าเทียมกัน (ถ้าเป็นไปได้)

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

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

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

print("Defining customized input pipeline")
list_ds = tf.data.Dataset.list_files(str(data_dir/'*/*'), shuffle=False)
list_ds = list_ds.shuffle(image_count, reshuffle_each_iteration=False)

for f in list_ds.take(5):
   print(f.numpy())

class_names = np.array(sorted([item.name for item in data_dir.glob('*') if item.name != "LICENSE.txt"]))
print(class_names)

print("The dataset is split into training and validation set")
val_size = int(image_count * 0.2)
train_ds = list_ds.skip(val_size)
val_ds = list_ds.take(val_size)
print("Length of each subset is displayed below")
print(tf.data.experimental.cardinality(train_ds).numpy())
print(tf.data.experimental.cardinality(val_ds).numpy())

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

ผลลัพธ์

Defining customized input pipeline
b'/root/.keras/datasets/flower_photos/dandelion/14306875733_61d71c64c0_n.jpg'
b'/root/.keras/datasets/flower_photos/dandelion/8935477500_89f22cca03_n.jpg'
b'/root/.keras/datasets/flower_photos/sunflowers/3001531316_efae24d37d_n.jpg'
b'/root/.keras/datasets/flower_photos/daisy/7133935763_82b17c8e1b_n.jpg'
b'/root/.keras/datasets/flower_photos/tulips/17844723633_da85357fe3.jpg'
['daisy' 'dandelion' 'roses' 'sunflowers' 'tulips']
The dataset is split into training and validation set
Length of each subset is displayed below
2936
734

คำอธิบาย

  • ยูทิลิตี้ keras.preprocessing เป็นวิธีสร้าง 'tf.data.Dataset' โดยใช้ไดเร็กทอรีของรูปภาพ
  • เพื่อให้สามารถควบคุมสิ่งนี้ได้มากขึ้น คุณสามารถเขียนไปป์ไลน์อินพุตที่กำหนดเองได้โดยใช้ 'tf.data'
  • โครงสร้างแบบต้นไม้ของไฟล์สามารถใช้รวบรวมรายชื่อ 'class_names' ได้