Python 如何从不同文件夹加载CNN回归的图像和文本标签

Python 如何从不同文件夹加载CNN回归的图像和文本标签,python,tensorflow,keras,cnn,Python,Tensorflow,Keras,Cnn,我有两个文件夹,X_train和Y_train。X_列是图像,Y_列是矢量和.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(

我有两个文件夹,X_train和Y_train。X_列是图像,Y_列是矢量和.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\u文件
y\u文件
排序在一起,然后您可以使用类似以下内容:

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\u ds
可以传递到
model.fit()
,并将返回32对图像、标签的批次