日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

tf.keras.preprocessing.image_dataset_from_directory() 简介

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

函數(shù)原型

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, )

官網(wǎng)地址:https://tensorflow.google.cn/api_docs/python/tf/keras/preprocessing/image_dataset_from_directory

作用

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

注: 如果你的目錄結(jié)構(gòu)是:

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

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

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

參數(shù)

  • directory: 數(shù)據(jù)所在目錄。如果標簽是inferred(默認),則它應(yīng)該包含子目錄,每個目錄包含一個類的圖像。否則,將忽略目錄結(jié)構(gòu)。
  • labels: inferred(標簽從目錄結(jié)構(gòu)生成),或者是整數(shù)標簽的列表/元組,其大小與目錄中找到的圖像文件的數(shù)量相同。標簽應(yīng)根據(jù)圖像文件路徑的字母順序排序(通過Python中的os.walk(directory)獲得)。
  • label_mode:
    • int:標簽將被編碼成整數(shù)(使用的損失函數(shù)應(yīng)為:sparse_categorical_crossentropy loss)
    • categorical:標簽將被編碼為分類向量(使用的損失函數(shù)應(yīng)為:categorical_crossentropy loss)
    • binary:意味著標簽(只能有2個)被編碼為值為0或1的float32標量(例如:binary_crossentropy)。
    • None:(無標簽)。
  • class_names: 僅當labels為inferred時有效。這是類名稱的明確列表(必須與子目錄的名稱匹配)。用于控制類的順序(否則使用字母數(shù)字順序)。
  • color_mode: grayscale、rgb、rgba之一。默認值:rgb。圖像將被轉(zhuǎn)換為1、3或者4通道。
  • batch_size: 數(shù)據(jù)批次的大小。默認值:32
  • image_size: 從磁盤讀取數(shù)據(jù)后將其重新調(diào)整大小。默認:(256,256)。由于管道處理的圖像批次必須具有相同的大小,因此該參數(shù)必須提供。
  • shuffle: 是否打亂數(shù)據(jù)。默認值:True。如果設(shè)置為False,則按字母數(shù)字順序?qū)?shù)據(jù)進行排序。
  • seed: 用于shuffle和轉(zhuǎn)換的可選隨機種子。
  • validation_split: 0和1之間的可選浮點數(shù),可保留一部分數(shù)據(jù)用于驗證。
  • subset: training或validation之一。僅在設(shè)置validation_split時使用。
  • interpolation: 字符串,當調(diào)整圖像大小時使用的插值方法。默認為: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遵循下面描述的格式。

關(guān)于labels格式規(guī)則:

  • 如果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編碼。

有關(guān)生成圖像中通道數(shù)量的規(guī)則:

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

總結(jié)

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

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。