原因一:
keras的后端是theano,默认channels_first,即他的图像形状是input_shape=(img_channels, img_rows, img_cols )。
而在tensorflow中则是默认channels_last,即input_shape=(img_rows, img_cols, img_channels)。
解决方法:
可添加这两行代码,使其变为channels_last;也可以自行调整输入数据的shape。
from keras import backend as K
K.set_image_dim_ordering("tf")
原因二:
如果padding参数为valid,这意味着将出现卷积过程中发生的自动降维,则可能会得到负尺寸。
解决方法:
将padding的参数替换成same。