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

RasaStack Core训练对话数据时触发TensorFlow TypeError求助

解决Rasa Core训练时TensorFlow的float16 TypeError问题

我之前也碰到过类似的问题,这个错误确实是TensorFlow的QR运算不支持float16数据类型导致的——哪怕用的是Rasa的示例代码,也可能因为环境依赖版本、默认数据类型设置等触发这个问题。下面是几个可行的解决思路:

1. 对齐Rasa Core与TensorFlow的版本兼容性

不同版本的Rasa Core对TensorFlow的版本有明确要求,版本不匹配很容易引发这类底层运算的兼容性问题。你可以:

  • 查看Rasa官方文档中的版本矩阵,确认当前使用的Rasa Core对应的TensorFlow兼容版本范围
  • 卸载现有TensorFlow,重新安装指定版本,比如如果用的是Rasa Core 0.14.x系列,建议搭配TensorFlow 1.13.x版本(避免使用过新的TF版本)

2. 强制将数据类型设置为float32

既然TensorFlow的QR操作支持float32,我们可以强制让Rasa使用该数据类型:

  • 检查是否有环境变量开启了自动混合精度(比如TF_ENABLE_AUTO_MIXED_PRECISION),如果有,将其关闭
  • 在Rasa的config.yml中添加相关配置,强制模型使用float32;如果涉及自定义组件,可以在数据处理环节显式将张量转换为float32类型(比如用tf.cast(tensor, tf.float32))

3. 禁用TensorFlow的混合精度训练

如果你的环境默认开启了混合精度训练,会自动将部分张量转为float16,而Rasa的部分组件可能未适配这个特性:

  • 通过设置环境变量TF_AUTO_MIXED_PRECISION_GRAPH_REWRITE_IGNORE_PERFORMANCE=1来禁用混合精度的自动转换
  • 确保代码中没有启用tf.keras.mixed_precision.set_global_policy()这类混合精度相关的设置

4. 重建干净的依赖环境

有时候conda环境中的依赖冲突也会导致这类隐性问题,建议:

  • 删除当前的conda环境,重新创建一个干净的环境
  • 按照Rasa官方的安装步骤,仅安装Rasa Core及其必要的依赖包,避免安装多余的可能干扰TensorFlow的第三方库

内容的提问来源于stack exchange,提问作者Leon-Paul Schaub

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.12 03:53:47