【问题标题】:ImportError: cannot import name 'dnn_logit_fn_builder' from partially initialized module 'tensorflow_estimator.python.estimator.canned.dnn'ImportError:无法从部分初始化的模块“tensorflow_estimator.python.estimator.canned.dnn”导入名称“dnn_logit_fn_builder”
【发布时间】:2021-09-27 00:11:46
【问题描述】:

conda env 中使用jupyter notebook 会导致我在导入tensorflow_hub 时出现该错误:

ImportError: cannot import name 'dnn_logit_fn_builder' from partially initialized module 
'tensorflow_estimator.python.estimator.canned.dnn' (most likely due to a circular import) 
(C:\Users\Anaconda3\envs\my_env\lib\site-packages\tensorflow_estimator\python\estimator\canned\dnn.py)

我的环境是通过安装 pandas、tensorflow-hub、numpy、tensorflow 和 python=3.8.5 创建的。

更多详情:

tensorflow                2.3.0           
tensorflow-base           2.3.0           
tensorflow-estimator      2.3.0              conda-forge
tensorflow-hub            0.12.0             conda-forge

为什么会出现这个错误?

【问题讨论】:

    标签: python tensorflow conda


    【解决方案1】:

    就我而言(Windows 10、Python 3.8、它自己的 shell)我也遇到了这个问题。然后,单独导入有问题的行解决了问题。换句话说,我写了

    from tensorflow_estimator.python.estimator.canned.dnn import dnn_logit_fn_builder
    

    然后我导入了

    import tensorflow_hub as hub
    

    一切都很好。

    【讨论】:

    • 有趣。由于问题本身没有提供任何代码,你能描述一下你做了什么复制了这个问题......换句话说,之前?我很好奇,我认为如果你能证明这一点,这个答案会更有价值。
    • 这很复杂。以前它工作时没有任何错误,但最后一天它产生了与“import tensorflow_hub”函数的问题相同的错误。由于错误文本提示循环导入,我检查了 Traceback 行并尝试将它们一一导入。只导入这个就足够了。当我今天尝试复制错误时,它再次无缝导入:)
    【解决方案2】:

    适用于 Tensorflow 2.6.0,API 名称几乎没有变化为tf.compat.v1.estimator.experimental.dnn_logit_fn_builder

    import tensorflow as tf
    tf.compat.v1.estimator.experimental.dnn_logit_fn_builder
    

    【讨论】:

      猜你喜欢
      • 2020-07-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-07-27
      • 2023-04-08
      • 1970-01-01
      • 1970-01-01
      • 2021-02-24
      相关资源
      最近更新 更多