解决AttributeError: module ‘paddle‘ has no attribute ‘fluid‘

首先看我的报错

Traceback (most recent call last):
  File "/home/xaishu/桌面/dev_xiashu/cll_ocr/tools/infer/predict_system.py", line 234, in <module>
    main(args)
  File "/home/xaishu/桌面/dev_xiashu/cll_ocr/tools/infer/predict_system.py", line 137, in main
    text_sys = TextSystem(args)
  File "/home/xaishu/桌面/dev_xiashu/cll_ocr/tools/infer/predict_system.py", line 46, in __init__
    self.text_detector = predict_det.TextDetector(args)
  File "/home/xaishu/桌面/dev_xiashu/cll_ocr/tools/infer/predict_det.py", line 136, in __init__
    self.predictor, self.input_tensor, self.output_tensors, self.config = utility.create_predictor(
  File "/home/xaishu/桌面/dev_xiashu/cll_ocr/tools/infer/utility.py", line 213, in create_predictor
    gpu_id = get_infer_gpuid()
  File "/home/xaishu/桌面/dev_xiashu/cll_ocr/tools/infer/utility.py", line 309, in get_infer_gpuid
    if not paddle.fluid.core.is_compiled_with_rocm():
AttributeError: module 'paddle' has no attribute 'fluid'

当我在测试训练完的ocr识别模型的时候,出现了AttributeError: module 'paddle' has no attribute 'fluid'这个报错。在网上搜索的时候发现这个错误是由于在代码中使用了过时的 PaddlePaddle API。根据错误信息,你使用的是 paddle.fluid.core.is_compiled_with_rocm() 这个方法,但是在最新版本的 PaddlePaddle 中已经不再使用 fluid 这个模块。要解决这个问题,需要更新我所使用的 PaddlePaddle 版本。但是我太懒了,感觉重装会有点麻烦,有的包重新装可能不兼容。

所以就又继续查资料,根据我所了解的情况,PaddlePaddle在更新到2.0版本后进行了一些重大的变化。在旧版本的PaddlePaddle中,确实存在名为fluid的模块,但在新版本中,这个模块已被改名为paddle。而我使用的是PaddlePaddle的2.6的版本,则应该使用import paddle而不是import paddle.fluid来导入PaddlePaddle的模块。

于是我把之前的

if not paddle.fluid.core.is_compiled_with_rocm():

改成了

    if not paddle.is_compiled_with_rocm():

在修改完之后,我的代码就可以运行了。至于有没有带来别的冲突,目前还没有发现。还请大佬们能够指出意见。

  • 13
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值