簡體   English   中英

如何從不同文件夾加載圖像和文本標簽以進行 CNN 回歸

[英]How to load images and text labels for CNN regression from different folders

我有兩個文件夾,X_train 和 Y_train。 X_train 是圖像,Y_train 是矢量和.txt 文件。 我嘗試訓練 CNN 進行回歸。

我不知道如何獲取數據和訓練網絡。 當我使用“ImageDataGenerator”時,它假設 X_train 和 Y_train 文件夾是類。

import os
import tensorflow as tf
os.chdir(r'C:\\Data')
from glob2 import glob

x_files = glob('X_train\\*.jpg')
y_files = glob('Y_rain\\*.txt')

上面,我找到了它們的目的地,我怎樣才能帶走它們並為 model.fit 做好准備? 謝謝你。

確保x_filesy_files排序在一起,然后你可以使用這樣的東西:

import tensorflow as tf
from glob2 import glob
import os

x_files = glob('X_train\\*.jpg')
y_files = glob('Y_rain\\*.txt')

target_names = ['cat', 'dog']

files = tf.data.Dataset.from_tensor_slices((x_files, y_files))

imsize = 128

def get_label(file_path):
    label = tf.io.read_file(file_path)
    return tf.cast(label == target_names, tf.int32)

def decode_img(img):
    img = tf.image.decode_jpeg(img, channels=3)
    img = tf.image.convert_image_dtype(img, tf.float32)
    img = tf.image.resize(images=img, size=(imsize, imsize))
    return img

def process_path(file_path):
    label = get_label(file_path)
    img = tf.io.read_file(file_path)
    img = decode_img(img)
    return img, label

train_ds = files.map(process_path).batch(32)

然后,可以將train_ds傳遞給model.fit()並將返回 32 對圖像、標簽的批次。

暫無
暫無

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

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