Computer >> Máy Tính >  >> Lập trình >> Python

Làm cách nào để Tensorflow được sử dụng với tf.data để kiểm soát tốt hơn bằng Python?

‘Tf.Data’ giúp tùy chỉnh quy trình xây dựng mô hình, bằng cách xáo trộn dữ liệu trong tập dữ liệu để tất cả các loại dữ liệu được phân phối đồng đều (nếu có thể).

Đọc thêm: TensorFlow là gì và cách Keras làm việc với TensorFlow để tạo Mạng thần kinh?

Chúng tôi sẽ sử dụng tập dữ liệu về hoa, chứa hình ảnh của hàng nghìn bông hoa. Nó chứa 5 thư mục con và có một thư mục con cho mọi lớp.

Chúng tôi đang sử dụng Google Colaboratory để chạy đoạn mã dưới đây. Google Colab hoặc Colaboratory giúp chạy mã Python qua trình duyệt và không yêu cầu cấu hình cũng như quyền truy cập miễn phí vào GPU (Đơn vị xử lý đồ họa). Colaboratory đã được xây dựng trên 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())

Tín dụng mã:https://www.tensorflow.org/tutorials/load_data/images

Đầu ra

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

Giải thích

  • Các tiện ích keras.preprocessing là một cách để tạo 'tf.data.Dataset' bằng cách sử dụng một thư mục hình ảnh.
  • Để kiểm soát nhiều hơn điều này, bạn có thể viết đường dẫn đầu vào tùy chỉnh bằng cách sử dụng 'tf.data'.
  • Cấu trúc cây của tệp có thể được sử dụng để biên dịch danh sách 'tên_ lớp'.