Tensorflow可变图像单个批次内的大小

zik*_*y90 5 python numpy machine-learning tensorflow

我目前正在tensorflow中实现FCN,它可以实现可变的输入图像大小.

我有各种图像尺寸的图像,但不幸的是,我无法以不同于1的批量大小开始培训.

我以下列方式使用feed dict:

feed_dict = {fcn.images: image_batch,
             fcn.labels: labels_batch,
             fcn.dropout_keep: dropout}
result = sess.run(list(tf_ops), feed_dict=feed_dict)
Run Code Online (Sandbox Code Playgroud)

我已经尝试过了:

  1. 然而,由于numpy数组不支持变量某些维度,因此创建image_batchlabels_batch作为numpy数组不起作用.
  2. 创建image_batchlabels_batch作为numpy数组的列表.这似乎是tensorflow试图调用numpy.array(image_batch).
  3. 同去tf.pack(),这个遗憾的是不支持不同的图像大小,以及

我的问题是:有没有办法解决这个问题?

提前感谢您提出任何建议和意见.

dga*_*dga 2

所以我们可以结束这个 - 引用上面的 Olivier Moindrot 的话:

在批处理之前,您必须将所有图像填充或调整为相同大小。

请注意,在奥利维尔的回答之后,添加了一个新的tf.image.decode_and_crop_jpeg操作,可以使执行此操作变得更容易一些。