keras报错 ValueError: Shape must be rank 1 but is rank 0 for 'bn_conv1/Reshape_4' (op: 'Reshape') 不用降级

本文解决在使用Keras 2.2.4版本和TensorFlow后端时,channels_first模式下bn层出现的Shape错误。通过修改tensorflow_backend.py文件中的特定代码,将(-1)改为[-1],成功解决此问题。
部署运行你感兴趣的模型镜像

问题:ValueError: Shape must be rank 1 but is rank 0 for ‘bn_conv1/Reshape_4’ (op: ‘Reshape’) with input shapes: [1,1,1,64], [].

情况:
1.keras是2.2.4版本(keras-gpu),后端为tensorflow
2.你在用channels_first且用了bn层(不是用别人模型而是自己搭的话,用channels_last可以回避这个问题)

网上看到的解决方案都是降级到GPU2.1.6 或CPU2.2.0 其实不用
解决方法
第一步: 找到tensorflow_backend.py文件
第一步
如果有很多tensorflow_backend.py文件,建议所有的都改一下
第二步:修改文件:
修改文件
把这些行中的(-1)改成中括号[-1],图片是我改过的.这个是2.2.4版bn层源码错误…

您可能感兴趣的与本文相关的镜像

TensorFlow-v2.15

TensorFlow-v2.15

TensorFlow

TensorFlow 是由Google Brain 团队开发的开源机器学习框架,广泛应用于深度学习研究和生产环境。 它提供了一个灵活的平台,用于构建和训练各种机器学习模型

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值