gpt4 book ai didi

python - 使用 keras 和 tensorflow 调整大小会产生不同的结果

转载 作者:行者123 更新时间:2023-12-01 00:44:45 27 4
gpt4 key购买 nike

重现错误的代码:

import tensorflow as tf
from tensorflow import keras

inputs = keras.layers.Input(shape=(7,7,256))

keras_resized = keras.backend.resize_images(inputs,224,224,data_format='channels_last',interpolation='bilinear')

tf_resized = tf.image.resize_bilinear(inputs,(224,224))

我有以下观察结果:

1tf_resized.get_shape() 给出:

TensorShape([Dimension(None), Dimension(224), Dimension(224), Dimension(256)])

哪个预期结果。

2keras_resized.get_shape() 给出:

TensorShape([Dimension(None), Dimension(1568), Dimension(1568), Dimension(256)])

这令人困惑。

3。但是:

mean_input = keras.backend.mean(inputs, axis=[1,2], keepdims=True)
keras_resized = keras.backend.resize_images(mean_input,224,224,data_format='channels_last',interpolation='bilinear')

然后 keras_resized.get_shape() 给出:

TensorShape([Dimension(None), Dimension(224), Dimension(224), Dimension(256)])



我需要帮助

  • 调整大小方法有何不同
  • 应该在哪种情况下使用
  • 情况 1 和 3 等效吗?

最佳答案

据我了解,TF 2.0中有两个调整图像大小的函数,即:

tf.keras.backend.resize_images
tf.image.resize or tf.image.resize_images

这两种功能各有优缺点。

对于 tf.keras.backend.resize_images

优点:支持不同的张量 channel 顺序(参见 data_format 参数)缺点:图片只能按整数因子放大,不能缩小(因为height_factor和width_factor必须是正整数)

对于 tf.image.resize 或 tf.image.resize_images ,优点是:1)它支持不同的插值方法,例如

ResizeMethod.BILINEAR: Bilinear interpolation
ResizeMethod.NEAREST_NEIGHBOR: Nearest neighbor interpolation
ResizeMethod.BICUBIC: Bicubic interpolation
ResizeMethod.AREA: Area interpolation

2)此外,它还支持图像缩小。

根据要求,您可以使用这些方法

谢谢

关于python - 使用 keras 和 tensorflow 调整大小会产生不同的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57075723/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com