我从tensorflow文档中发现,加载名为“ flower_photos”的数据集的代码为
data_dir = tf.keras.utils.get_file(origin ='https://storage.googleapis.com/download.tensorflow.org/example_images/flower_photos.tgz',
fname ='flower_photos',untar = True)
我在本地计算机上有一些图像,并希望加载并使用它来执行一些神经网络算法,例如CNN。如何在张量流中加载和预处理本地存储的图像?
最佳答案
这是通过Keras的图像预处理功能完成的。
我将对Keras文档中的示例提供一些解释(更多信息,请read the docs。)
这种预处理为训练提供了一条管道,并且有一种.flow_from_directory()
方法可以从本地文件系统读取。
在文档的此示例中,通过水平翻转图片并应用0.2的剪切范围和缩放范围来增强图片。进行重新缩放以将RGB值标准化为0到1的范围:
train_datagen = ImageDataGenerator(
rescale=1./255,
shear_range=0.2,
zoom_range=0.2,
horizontal_flip=True)
test_datagen = ImageDataGenerator(rescale=1./255)
train_generator = train_datagen.flow_from_directory(
'data/train',
target_size=(150, 150),
batch_size=32,
class_mode='binary')
validation_generator = test_datagen.flow_from_directory(
'data/validation',
target_size=(150, 150),
batch_size=32,
class_mode='binary')
model.fit_generator(
train_generator,
steps_per_epoch=2000,
epochs=50,
validation_data=validation_generator,
validation_steps=800)
使用此ImageDataGenerator,您可以使用
.fit_generator()
方法(而不是.fit()
)来使用此准备好的管道来进行模型处理。steps_per_epoch * batch_size应该等于训练数据的大小。
validation_steps * batch_size应等于验证数据的大小。
关于python - 如何在tensorflow中加载本地镜像,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/58571072/