You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

树莓派4加载Colab训练Keras模型报groups参数不识别TypeError

问题成因

  • 模型配置不兼容:groups是TensorFlow 2.x版本为卷积层新增的参数,用于实现分组卷积逻辑。在TensorFlow 2.6环境下训练导出的模型会自动带上这个参数配置,而树莓派上的TensorFlow 1.14版本的卷积层实现没有该参数定义,加载模型解析配置时就会抛出未知关键字参数的错误。
  • 树莓派无法识别TensorFlow 2.x的核心原因:使用的大概率是32位版本的树莓派操作系统,官方从TensorFlow 2.x开始已经停止提供32位ARM架构的预编译安装包,直接通过pip安装默认只会拉取适配32位系统的最后一个版本1.14.0,和是否使用虚拟环境无关。

另外开头的Hadoop文件系统加载报错是无关警告,是TensorFlow 1.14编译时默认包含了Hadoop文件系统支持,本地没有对应依赖就会触发该提示,不影响模型的正常加载和运行,可以直接忽略。

可行解决方案

  • 方案1:对齐训练侧和部署侧的框架版本
    在Google Colab中把TensorFlow和Keras版本降级到和树莓派一致的1.14.0、2.2.4-tf,重新训练后导出模型,再放到树莓派上加载即可,该方案适配成本最低,没有额外兼容性问题,适合重新训练成本不高的场景。
  • 方案2:树莓派侧安装适配的TensorFlow 2.x版本
    更换树莓派操作系统为64位版本的Raspberry Pi OS,64位ARM架构有官方维护的TensorFlow 2.x预编译包,可以直接通过pip安装和训练侧一致的2.6.0版本,版本对齐后模型可以直接加载。如果不想更换系统,也可以下载社区预编译的32位ARM架构TensorFlow 2.x离线安装包,手动本地安装即可。
  • 方案3:转换为TensorFlow Lite格式部署
    将训练好的h5模型转换为TensorFlow Lite通用边缘部署格式,不需要对齐完整TensorFlow版本,资源占用也远低于完整版TensorFlow,非常适合树莓派这类边缘设备使用。转换代码如下:
# Google Colab侧执行模型转换
import tensorflow as tf
model = tf.keras.models.load_model('lane_navigation_final.h5', compile=False)
converter = tf.lite.TFLiteConverter.from_keras_model(model)
tflite_model = converter.convert()
with open('lane_navigation_final.tflite', 'wb') as f:
    f.write(tflite_model)

树莓派侧仅需要安装tflite-runtime包就可以加载运行转换后的模型。

内容的提问来源于stack exchange,提问作者Vico Lays

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.07 07:00:04