我目前正在 tensorflow 中实现 FCN,它支持可变输入图像大小。
我有各种图像大小的图像,但不幸的是我无法以不同于 1 的批量大小开始训练。
我按以下方式使用 feed 字典:
feed_dict = {fcn.images: image_batch,
fcn.labels: labels_batch,
fcn.dropout_keep: dropout}
result = sess.run(list(tf_ops), feed_dict=feed_dict)
我已经试过了:
- 将
image_batch
和labels_batch
创建为 numpy 数组,但这不起作用,因为 numpy 数组不支持可变的特定维度。 - 创建
image_batch
和labels_batch
作为 numpy 数组列表。这里似乎 tensorflow 正在尝试调用numpy.array(image_batch)
。 - 与
tf.pack()
一起使用,不幸的是,这也不支持不同的图像大小
我的问题是: 有没有办法解决这个问题?
提前感谢您提出任何建议和建议。
最佳答案
所以我们可以结束这个 - 引用上面的 Olivier Moindrot:
You have to pad or resize all your images to the same size before batching them.
请注意,在 Olivier 的回答之后,有一个新的 tf.image.decode_and_crop_jpeg
op 补充说,这可以使它更容易做到这一点。
关于python - 单批处理中的 Tensorflow 可变图像大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37682097/