簡體   English   中英

tf.keras.preprocessing.image_dataset_from_directory 值錯誤:找不到圖像

[英]tf.keras.preprocessing.image_dataset_from_directory Value Error: No images found

belos 是我的代碼,用於確保文件夾中有圖像,但 tf.keras.preprocessing.image_dataset_from_directory 返回未找到圖像。 我做錯了什么? 謝謝。

DATASET_PATH = pathlib.Path('C:\\Users\\xxx\\Documents\\images')
image_count = len(list(DATASET_PATH.glob('.\\*.jpg')))
print(image_count)

output = 2715

batch_size = 4
img_height = 32
img_width = 32

train_ds = tf.keras.preprocessing.image_dataset_from_directory(
    DATASET_PATH.name,
    validation_split=0.8,
    subset="training",
    seed=123,
    image_size=(img_height, img_width),
    batch_size=batch_size)

output:

Found 0 files belonging to 0 classes.
Using 0 files for training.
Traceback (most recent call last):
  File ".\tensorDataPreProcessed.py", line 23, in <module>
    batch_size=batch_size)
  File "C:\Users\xxx\Anaconda3\envs\xxx\lib\site-packages\tensorflow\python\keras\preprocessing\image_dataset.py", line 200, in image_dataset_from_directory
    raise ValueError('No images found.')
ValueError: No images found.

這里有兩個問題,首先image_dataset_from_directory需要目錄中每個類的子文件夾。 通過這種方式,它可以自動識別圖像並將類標簽分配給圖像。

所以TF的標准文件夾結構是:

data
|
|___train
|      |___class_1
|      |___class_2
|
|___validation
|      |___class_1
|      |___class_2
|
|___test(optional)
       |___class_1
       |___class_2

另一個問題是您試圖僅使用一個類來創建模型,這不是一種可行的方法。 該模型需要能夠區分您嘗試使用 GAN 生成的類,但要做到這一點,它需要屬於此類的圖像樣本。

如果你正在進行無監督學習並且你真的只有一個 class 那么tf.keras.utils.image_dataset_from_directory有一個名為labels的參數:

注意:如果您不確定這是否適用於您的問題,您應該首先確定。 只是復制這個解決方案而不知道它是否是您的問題所需要的是一個壞主意。

文檔

標簽: “推斷”(標簽從目錄結構生成)、無(無標簽)或 integer 個標簽的列表/元組,其大小與目錄中找到的圖像文件的數量相同。 標簽應根據圖像文件路徑的字母數字順序排序(通過 Python 中的 os.walk(directory) 獲得)。

所以你可以將標簽設置為None ,它會將所有圖像導入 1 class。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM