Python 如何从不同文件夹加载CNN回归的图像和文本标签
我有两个文件夹,X_train和Y_train。X_列是图像,Y_列是矢量和.txt文件。我试着训练CNN回归 我不知道如何获取数据和训练网络。当我使用“ImageDataGenerator”时,它假设X_train和Y_train文件夹是类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(
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对图像、标签的批次