【发布时间】:2019-07-17 12:20:44
【问题描述】:
重现错误的代码:
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))
我有以下观察:
1。 tf_resized.get_shape() 给:
TensorShape([Dimension(None), Dimension(224), Dimension(224), Dimension(256)])
这是预期的结果。
2。正如keras_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 是否等效?
【问题讨论】:
-
7*224=1568应该可以帮助您找到答案;)keras_resized.get_shape()的第二个和第三个参数是原始形状的乘数,而不是输出形状。
标签: python tensorflow tf.keras