使用混合精度和构建 EfficientNetB0 模型时的 Dtype 错误

问题描述

系统信息

  • 操作系统平台和发行版:MacOS
  • TensorFlow 安装自:Colab
  • TensorFlow 版本:2.5.0
  • Python 版本:python 3.7
  • GPU 型号和内存:Tesla T4

错误 TypeError: Input 'y' of 'Sub' Op has type float16 that does not match type float32 of argument 'x'

当前行为

在使用混合精度并构建 Keras 函数式 API 模型 (EfficientNet B0) 时,它显示以下错误 TypeError: Input 'y' of 'Sub' Op has type float16 that does not match type float32 of argument 'x'

注意:出于某种原因,StackOverflow 不允许我发布图像。请访问以下链接获取有关该问题的更多信息: https://github.com/tensorflow/tensorflow/issues/49725

预期行为

我在上一个单元格中设置的全局策略是 mixed_float16。该问题在 tensorflow 2.4.1 上运行时运行良好,因此错误在于 tensorflow 2.5.0

您可以使用以下笔记本重现相同的错误https://colab.research.google.com/drive/1TfNZSIJ_I7IZI35RsGFnTdj-6beMHV2_?usp=sharing

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)