张量流后端错误。 AttributeError:模块“tensorflow”没有属性“name_scope”
Posted
技术标签:
【中文标题】张量流后端错误。 AttributeError:模块“tensorflow”没有属性“name_scope”【英文标题】:tensorflow backend error. AttributeError: module 'tensorflow' has no attribute 'name_scope' 【发布时间】:2020-04-29 20:58:45 【问题描述】:我正在使用版本:TensorFlow 2.1.0 和 keras 2.3.1。在导入任何 keras 模块时,我都面临 tensorflow 后端错误。
import pandas as pd, numpy as np, os, re, json, math, time
from keras.models import Sequential
from keras.layers import Dense
from keras.wrappers.scikit_learn import KerasRegressor
from sklearn.model_selection import cross_val_score
from sklearn.model_selection import KFold
from sklearn.preprocessing import StandardScaler
from sklearn.pipeline import Pipeline
from sklearn.model_selection import train_test_split
---------------------------------------------------------------------------
AttributeError Traceback (most recent call last) <ipython-input-82-2f712055860b> in <module>
1 import pandas as pd, numpy as np, os, re, json, math, time
----> 2 from keras.models import Sequential
3 from keras.layers import Dense
4 from keras.wrappers.scikit_learn import KerasRegressor
5 from sklearn.model_selection import cross_val_score
~\Anaconda3\lib\site-packages\keras\__init__.py in <module>
1 from __future__ import absolute_import
2
----> 3 from . import utils
4 from . import activations
5 from . import applications
~\Anaconda3\lib\site-packages\keras\utils\__init__.py in <module>
4 from . import data_utils
5 from . import io_utils
----> 6 from . import conv_utils
7 from . import losses_utils
8 from . import metrics_utils
~\Anaconda3\lib\site-packages\keras\utils\conv_utils.py in <module>
7 from six.moves import range
8 import numpy as np
----> 9 from .. import backend as K
10
11
~\Anaconda3\lib\site-packages\keras\backend\__init__.py in <module>
----> 1 from .load_backend import epsilon
2 from .load_backend import set_epsilon
3 from .load_backend import floatx
4 from .load_backend import set_floatx
5 from .load_backend import cast_to_floatx
~\Anaconda3\lib\site-packages\keras\backend\load_backend.py in <module>
88 elif _BACKEND == 'tensorflow':
89 sys.stderr.write('Using TensorFlow backend.\n')
---> 90 from .tensorflow_backend import *
91 else:
92 # Try and load external backend.
~\Anaconda3\lib\site-packages\keras\backend\tensorflow_backend.py in <module>
54 get_graph = tf_keras_backend.get_graph
55 # learning_phase_scope = tf_keras_backend.learning_phase_scope # TODO
---> 56 name_scope = tf.name_scope
57
58
> AttributeError: module 'tensorflow' has no attribute 'name_scope'
期待快速解决。
【问题讨论】:
【参考方案1】:我建议你改用 TensorFlow 中的 keras
模块。
维护得更好,不会出现不兼容问题。
根据弗朗索瓦·肖莱特的说法:
Keras 2.3.0 版本来了,它是最后一个主要的多后端 发布。展望未来,建议用户切换他们的代码 转到 TensorFlow 2.0 中的 tf.keras。此版本带来 API 更改 和一些重大变化。看看引擎盖下,看看它是什么 包括,以及未来的计划。
切换所有导入而不是
from keras.models import Sequential
from keras.layers import Dense
到
from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import Dense
将解决您所有的不兼容问题。
您可以将 Keras 作为一个单独的包完全卸载,因为它已默认包含在 TensorFlow 中。
观察:如果 PyCharm 无法识别 tensorflow.keras
,您需要将 PyCharm 更新到最新版本 >=2019.3。只有从该版本开始,TensorFlow 2.0 才会在 PyCharm 中得到相应识别。请查阅以下答案以获取更多信息:
Unable to import Keras(from TensorFlow 2.0) in PyCharm
【讨论】:
嘿,感谢您的快速响应。现在,它抛出 ModuleNotFoundError: No module named 'tensorflow.keras.models'; 'tensorflow.keras' 不是一个包 这是因为您使用的是旧版本的 PyCharm,它无法识别 tensorflow.keras 模块。您需要将 PyCharm 更新到 2019.3 版本才能识别它。 我使用的是 Jupyter notebook 而不是 Pycharm。 您使用的是哪个 Python 版本?也可能是因为 sys.path 没有必要的路径。 它是 Python 3.7.4以上是关于张量流后端错误。 AttributeError:模块“tensorflow”没有属性“name_scope”的主要内容,如果未能解决你的问题,请参考以下文章
AttributeError:模块“张量流”没有属性“会话”
AttributeError:“张量”对象在 Tensorflow 2.1 中没有属性“numpy”
pytorch,AttributeError:模块“火炬”没有属性“张量”