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

时间:2016-06-07 14:27:43

标签: 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)

我已经尝试过了:

  1. image_batchlabels_batch创建为numpy数组,但这不起作用,因为numpy数组不支持变量某些维度。
  2. 创建image_batchlabels_batch作为numpy数组的列表。看来tensorflow试图调用numpy.array(image_batch)
  3. tf.pack()一起使用,遗憾的是,这也不支持不同的图片尺寸
  4. 我的问题是: 有没有办法解决这个问题?

    提前感谢您提出任何建议和建议。

1 个答案:

答案 0 :(得分:2)

所以我们可以关闭这个 - 引用上面的Olivier Moindrot:

  

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

请注意,在Olivier的回答之后,添加了一个新的tf.image.decode_and_crop_jpeg操作,可以让它更容易实现。