Negative dimension size caused by subtracting 2 from 1 for 'max_pooling2d_2/MaxPool''MaxPool')

提示错误:

ValueError: Negative dimension size caused by subtracting 2 from 1 for 'max_pooling2d_2/MaxPool' (op: 'MaxPool') with input shapes: [?,1,32,128].

错误代码部分:

model.add(MaxPooling2D(pool_size=(2, 2),strides=(2,2)))

错误原因:

是图片通道的问题。
也就是”channels_last”和”channels_first”数据格式的问题。
input_shape=(3,150, 150)是theano的写法,而tensorflow需要写出:(150,150,3)
https://blog.csdn.net/JohinieLi/article/details/79867898

纠正错误:

**方案1:**在windows下面找到keras的配置文件,C:\Users\zasx-maoshunyi.keras 。

Here is my keras.json
{
"image_data_format" : "channels_first",
"epsilon": 1e-07,
"floatx": "float32",
"backend": "tensorflow"
}

**方案2:**程序开头加入:

    from keras import backend as K  
    K.set_image_dim_ordering('th')  

    from keras import backend as K  
    K.set_image_dim_ordering('tf') 

**方案3:**参见其他大牛的解决方案

model.add(MaxPooling2D(pool_size=(2, 2), dim_ordering="th"))

https://github.com/keras-team/keras/issues/3945

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值