tensorflow - 模块 tensorflow 没有属性“get_default_graph”
问题描述
我已经查看了所有相关的问题和答案,我根本无法解决这个问题!我正在尝试为 MNIST 构建一个神经网络,但我随时都会遇到这个错误。还有其他人为此找到了其他帖子中可能没有定义的现代解决方案吗?
我的代码:
from keras import models
from keras import layers
# Construct the model
model = models.Sequential()
model.add(layers.Dense(16, activation='relu', input_shape=(10000,)))
model.add(layers.Dense(16, activation='relu'))
model.add(layers.Dense(1, activation='sigmoid'))
错误信息:
AttributeError Traceback (most recent call last)
<ipython-input-8-2de137c8f569> in <module>
3
4 # Construct the model
----> 5 model = models.Sequential()
6 model.add(layers.Dense(16, activation='relu', input_shape=(10000,)))
7 model.add(layers.Dense(16, activation='relu'))
~/opt/anaconda3/lib/python3.8/site-packages/keras/engine/sequential.py in __init__(self, layers, name)
85
86 def __init__(self, layers=None, name=None):
---> 87 super(Sequential, self).__init__(name=name)
88 self._build_input_shape = None
89
~/opt/anaconda3/lib/python3.8/site-packages/keras/legacy/interfaces.py in wrapper(*args, **kwargs)
89 warnings.warn('Update your `' + object_name + '` call to the ' +
90 'Keras 2 API: ' + signature, stacklevel=2)
---> 91 return func(*args, **kwargs)
92 wrapper._original_function = func
93 return wrapper
~/opt/anaconda3/lib/python3.8/site-packages/keras/engine/network.py in __init__(self, *args, **kwargs)
94 else:
95 # Subclassed network
---> 96 self._init_subclassed_network(**kwargs)
97
98 def _base_init(self, name=None):
~/opt/anaconda3/lib/python3.8/site-packages/keras/engine/network.py in _init_subclassed_network(self, name)
292
293 def _init_subclassed_network(self, name=None):
--> 294 self._base_init(name=name)
295 self._is_graph_network = False
296 self._expects_training_arg = has_arg(self.call, 'training')
~/opt/anaconda3/lib/python3.8/site-packages/keras/engine/network.py in _base_init(self, name)
107 if not name:
108 prefix = self.__class__.__name__.lower()
--> 109 name = prefix + '_' + str(K.get_uid(prefix))
110 self.name = name
111
~/opt/anaconda3/lib/python3.8/site-packages/keras/backend/tensorflow_backend.py in get_uid(prefix)
72 """
73 global _GRAPH_UID_DICTS
---> 74 graph = tf.get_default_graph()
75 if graph not in _GRAPH_UID_DICTS:
76 _GRAPH_UID_DICTS[graph] = defaultdict(int)
AttributeError: module 'tensorflow' has no attribute 'get_default_graph'
解决方案
编辑:已经使用了单独的 Keras 前端,看起来它旨在使用 TF1.x 后端。尝试使用 tf.keras 或安装较旧的 TensorFlow 版本(见下文)Keras 和 tf.keras 的区别
您正在使用带有 TF2 框架的 TF1.X 项目。TF2 框架只有兼容版本,还有其他签名。
要使用此项目而不进行更改,请安装 TF1.X
对于 TensorFlow 1.x,CPU 和 GPU 包是分开的:
tensorflow==1.15 —Release for CPU-only
tensorflow-gpu==1.15 —Release with GPU support (Ubuntu and Windows)
推荐阅读
- android - 2x 导航栏 Android
- javascript - 数据表导出到具有数据类型的 excel
- python - 如何在 Python 中解压缩已用 gzip 压缩的文本?
- time - 奇怪的时间格式
- angular - 在 Angular6 中上传到 AWS S3 之前更改文件名
- erlang - Erlang/Elixir 中如何进行消息恢复
- filtering - 更改 mapbox 图层中特定点的颜色
- java - 无法解析 com.android.tools.build:gradle:3.1.4,react-native run-android
- python - 将文件输入的标准输出保存到文件
- neo4j - 将sql server 2017数据库导入neo4j