日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

tf.keras.preprocessing.image_dataset_from_directory() 简介

發布時間:2025/4/5 62 豆豆
生活随笔 收集整理的這篇文章主要介紹了 tf.keras.preprocessing.image_dataset_from_directory() 简介 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
  • 🔗 運行環境:python3
  • 🚩 作者:K同學啊
  • 🥇 精選專欄:《深度學習100例》
  • 🔥 推薦專欄:《新手入門深度學習》
  • 📚 選自專欄:《Matplotlib教程》
  • 🧿 優秀專欄:《Python入門100題》

函數原型

tf.keras.preprocessing.image_dataset_from_directory(directory,labels="inferred",label_mode="int",class_names=None,color_mode="rgb",batch_size=32,image_size=(256, 256),shuffle=True,seed=None,validation_split=None,subset=None,interpolation="bilinear",follow_links=False, )

官網地址:https://tensorflow.google.cn/api_docs/python/tf/keras/preprocessing/image_dataset_from_directory

作用

將文件夾中的數據加載到tf.data.Dataset中,且加載的同時會打亂數據。

注: 如果你的目錄結構是:

main_directory/
…class_a/
…a_image_1.jpg
…a_image_2.jpg
…class_b/
…b_image_1.jpg
…b_image_2.jpg

然后調用 image_dataset_from_directory(main_directory, labels=‘inferred’) 將返回一個tf.data.Dataset, 該數據集從子目錄class_a和class_b生成批次圖像,同時生成標簽0和1(0對應class_a,1對應class_b),

支持的圖像格式:jpeg, png, bmp, gif. 動圖被截斷到第一幀。

參數

  • directory: 數據所在目錄。如果標簽是inferred(默認),則它應該包含子目錄,每個目錄包含一個類的圖像。否則,將忽略目錄結構。
  • labels: inferred(標簽從目錄結構生成),或者是整數標簽的列表/元組,其大小與目錄中找到的圖像文件的數量相同。標簽應根據圖像文件路徑的字母順序排序(通過Python中的os.walk(directory)獲得)。
  • label_mode:
    • int:標簽將被編碼成整數(使用的損失函數應為:sparse_categorical_crossentropy loss)
    • categorical:標簽將被編碼為分類向量(使用的損失函數應為:categorical_crossentropy loss)
    • binary:意味著標簽(只能有2個)被編碼為值為0或1的float32標量(例如:binary_crossentropy)。
    • None:(無標簽)。
  • class_names: 僅當labels為inferred時有效。這是類名稱的明確列表(必須與子目錄的名稱匹配)。用于控制類的順序(否則使用字母數字順序)。
  • color_mode: grayscale、rgb、rgba之一。默認值:rgb。圖像將被轉換為1、3或者4通道。
  • batch_size: 數據批次的大小。默認值:32
  • image_size: 從磁盤讀取數據后將其重新調整大小。默認:(256,256)。由于管道處理的圖像批次必須具有相同的大小,因此該參數必須提供。
  • shuffle: 是否打亂數據。默認值:True。如果設置為False,則按字母數字順序對數據進行排序。
  • seed: 用于shuffle和轉換的可選隨機種子。
  • validation_split: 0和1之間的可選浮點數,可保留一部分數據用于驗證。
  • subset: training或validation之一。僅在設置validation_split時使用。
  • interpolation: 字符串,當調整圖像大小時使用的插值方法。默認為:bilinear。支持bilinear, nearest, bicubic, area, lanczos3, lanczos5, gaussian, mitchellcubic。
  • follow_links: 是否訪問符號鏈接指向的子目錄。默認:False。

Returns

一個tf.data.Dataset對象。

  • 如果label_mode為None,它將生成float32張量,其shape為(batch_size, image_size[0], image_size(1), num_channels),并對圖像進行編碼。
  • 否則,將生成一個元組(images, labels),其中圖像的shape為(batch_size, image_size[0], image_size(1), num_channels),并且labels遵循下面描述的格式。

關于labels格式規則:

  • 如果label_mode 是 int, labels是形狀為(batch_size, )的int32張量
  • 如果label_mode 是 binary, labels是形狀為(batch_size, 1)的1和0的float32張量。
  • 如果label_mode 是 categorial, labels是形狀為(batch_size, num_classes)的float32張量,表示類索引的one-hot編碼。

有關生成圖像中通道數量的規則:

  • 如果color_mode 是 grayscale, 圖像張量有1個通道。
  • 如果color_mode 是 rgb, 圖像張量有3個通道。
  • 如果color_mode 是 rgba, 圖像張量有4個通道。

總結

以上是生活随笔為你收集整理的tf.keras.preprocessing.image_dataset_from_directory() 简介的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。