首页 > 解决方案 > 具有不同大小图像的 CNN 批处理

问题描述

我恢复了一个用于人脸检测的预训练模型,该模型一次拍摄一张图像并返回边界框。如果这些图像的尺寸不同,我怎样才能让它拍摄一批图像?

标签: pythontensorflowmachine-learning

解决方案


您可以使用tf.image.resize_images方法来实现这一点。根据文档 tf.image.resize_images

使用指定的方法调整图像大小。

如果原始纵横比与大小不同,调整大小的图像将失真。为避免扭曲,请参阅 tf.image.resize_image_with_pad.

如何使用它?

import tensorflow as tf
from tensorflow.python.keras.models import Model

x = Input(shape=(None, None, 3), name='image_input')
resize_x = tf.image.resize_images(x, [32,32])
vgg_model = load_vgg()(resize_x)
model = Model(inputs=x, outputs=vgg_model.output)
model.compile(...)
model.predict(...)

推荐阅读