在调试tensorflow_keras代码的时候,遇到以下报错:

ValueError: Input 0 of layer sequential is incompatible with the layer: expected axis -3 of input shape to have value 3 but received input with shape (None, 32, 32, 3)

翻译过来就是:

ValueError:第0层的sequential层与该层不兼容:期望输入形状的倒数第3个变量为值3,即input.shape =(xx, 3, xx, xx),但是实际上接收到的形状为(None, 32, 32, 3)。

根据中文翻译来修改代码,就是需要改变输入变量的形状,即:

原来输入的形状 input.shape = (None, 32, 32, 3)
调用语句 input = input.reshape(3, 32, 32) 修改输入形状
此时 input.shape = (None, 3, 32, 32) 满足要求

经验:

在遇到关于数据类的报错时,可以通过在报错代码附近加上print()语句来检查数据变量情况,并根据对具体代码进行调试。

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐