python - 单批处理中的 Tensorflow 可变图像大小

标签 python numpy machine-learning tensorflow

我目前正在 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)

我已经试过了:

  1. image_batchlabels_batch 创建为 numpy 数组,但这不起作用,因为 numpy 数组不支持可变的特定维度。
  2. 创建 image_batchlabels_batch 作为 numpy 数组列表。这里似乎 tensorflow 正在尝试调用 numpy.array(image_batch)
  3. 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/

相关文章:

Python websockets : how to override sync method WebSocketCommonProtocol. connection_made() 与异步调用?

python - 如何在每个测试用例中都有一个记录器?

python - Python 新手,不知道我的代码有什么问题

python - 将 Gridsearch 中的最佳参数保存在 pandas 数据框中

python - pandas 试图告诉我什么警告?

python - 如何在forms.py和views.py中创建子类字段时更改父类中的字段?

python - OpenCV Python 中的变形操作

python - numpy arange 中的 else 语句

matlab - 为 MATLAB 追加

matlab - 自由能强化学习实现