detayun 2023-05-15 10:10 采纳率: 33.3%
浏览 9

keras使用cnn+ctc训练不定长数字识别问题

我本身的环境是
tensorflow-gpu==1.15.2
Keras ==2.3.1
当时训练cnn+ctc识别不定长数字正常,loss可以达到0.001,正确率也非常高。
但是我把环境进行了升级,升级后的环境是:
tensorflow-gpu==2.5.0
Keras ==2.4.3
这时候问题出现了,我使用相同的数据,使用相同的代码,loss下降到12左右就再也无法下降了,请问这是版本升级后,什么配置不对吗?

img

  • 写回答

1条回答 默认 最新

  • Leodong. 2023-05-15 10:14
    关注

    该回答通过自己思路及引用到GPTᴼᴾᴱᴺᴬᴵ搜索,得到内容具体如下:
    在 TensorFlow 2.x 版本中,Keras 已经成为 TensorFlow 的一部分,因此在使用 TensorFlow 2.x 版本时,建议使用 tf.keras 而不是独立的 Keras 库。同时,TensorFlow 2.x 版本相对于 1.x 版本来说有很多功能上的变化和更新,这可能会影响到你的代码和模型的训练效果。

    根据你提供的信息,我猜测问题可能是与 TensorFlow 版本升级相关。下面是一些可能导致问题的原因和解决方法:

    1. 数据预处理不一致。在 TensorFlow 2.x 版本中,一些数据预处理函数的默认行为和 1.x 版本不同,例如图像的像素值会自动归一化到 [0, 1] 区间。因此,如果你的数据预处理在版本升级后发生了变化,可能会导致训练效果的变化。建议检查数据预处理的代码,确保与 1.x 版本时一致。

    2. 模型定义不一致。TensorFlow 2.x 版本中引入了许多新的 API 和功能,包括 Keras 函数式 API、tf.keras.layers 和 tf.keras.models 中的新层和模型等。如果你的模型定义在版本升级后发生了变化,可能会导致训练效果的变化。建议检查模型定义的代码,确保与 1.x 版本时一致。

    3. 优化器和学习率设置不一致。在 TensorFlow 2.x 版本中,优化器和学习率的默认设置可能与 1.x 版本不同。如果你的优化器和学习率设置在版本升级后发生了变化,可能会导致训练效果的变化。建议检查优化器和学习率的设置,确保与 1.x 版本时一致。

    4. 训练数据集和验证数据集不一致。如果你使用了不同的训练数据集和验证数据集,可能会导致训练效果的变化。例如,如果你的验证数据集中包含了训练数据集中没有的样本,可能会导致验证效果的变化。建议检查训练数据集和验证数据集的设置,确保与 1.x 版本时一致。

    希望这些信息可以帮助你找到问题所在。如果问题仍然存在,建议逐步排查可能的原因,例如逐步恢复代码和设置到 1.x 版本时的状态,尝试不同的优化器、学习率和数据集等设置,以确定问题所在。


    如果以上回答对您有所帮助,点击一下采纳该答案~谢谢

    评论

报告相同问题?

问题事件

  • 创建了问题 5月15日

悬赏问题

  • ¥15 vue2项目里接口请求报错,把接口放到浏览器里面正常
  • ¥15 Qt安装后运行不了,这是我电脑的问题吗
  • ¥15 数据量少可以用MK趋势分析吗
  • ¥15 使用VH6501干扰RTR位,CANoe上显示的错误帧不足32个就进入bus off快慢恢复,为什么?
  • ¥15 大智慧怎么编写一个选股程序
  • ¥100 python 调用 cgps 命令获取 实时位置信息
  • ¥15 两台交换机分别是trunk接口和access接口为何无法通信,通信过程是如何?
  • ¥15 C语言使用vscode编码错误
  • ¥15 用KSV5转成本时,如何不生成那笔中间凭证
  • ¥20 ensp怎么配置让PC1和PC2通讯上