如何读取不同分辨率的图像以在TensorF中创建数据集

2024-09-28 16:19:37 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在学习如何建立一个神经网络来检测图像中的行人。我下载了PETA数据集,我想把图像读入Tensorflow数据集。实际上,我成功地使用了以下代码:

filenames = glob.glob("C://PETA/3DPeS/archive/*.bmp")

dataset = tf.data.Dataset.from_tensor_slices((filenames))

def _parsefunc(filename):
    img_st = tf.read_file(filename)
    img_dec = tf.image.decode_bmp(img_st,channels=3)
    img = tf.cast(img_dec,tf.float32)

return img

dataset = dataset.map(_parsefunc)

iterator = dataset.make_one_shot_iterator()

但并不是所有的图像都有相同的分辨率,只要我能看到,我们需要指定一个特定的大小来定义我们的神经网络层。在

那么如何调整图像大小以获得一个干净的TensorFlow数据集?在

谢谢。在


Tags: 数据图像imgtf神经网络filenamedatasetglob
2条回答

好吧,在任何地方都不强制要求图像大小相同,但最好是这样。如果你想在将来对模型进行微调,那就没关系了。试着看看,如何创建Tfrecords for a new database,这将是最好的方法。在

_parsefunc中,可以使用tf.image.resize_images()将输入图像的大小调整到输入神经网络层的大小。在

def _parsefunc(filename):
   img_st = tf.read_file(filename)
   img_dec = tf.image.decode_bmp(img_st,channels=3)
   img = tf.cast(img_dec,tf.float32)
   img = tf.image.resize_images(img, [width, height])

相关问题 更多 >