python - 如何在tensorflow中加载本地镜像?

标签 python tensorflow conv-neural-network

我从 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。如何在tensorflow中加载和预处理本地存储的图像?

最佳答案

这是通过 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/

相关文章:

Python 列表复制 - 困惑

tensorflow - Keras 是否计算卡住层的梯度?

machine-learning - 使用自动编码器进行批量归一化网络有什么意义吗?

machine-learning - 在 cifar-10 上的 Keras 中实现 AlexNet 的准确性较差

python - python中的变量类型检测

python - Python 中的多态性和构造函数行为

python - 引用或复制

python - Tensorflow.image.decode_jpeg 在解码图像 TFRecord 数据时移动值

ios - 如何在 iOS 上使用重新训练的 "tensorflow for poets"图?

neural-network - 图像均值减法和像素均值减法有什么区别?