Python 模块';tensorflow';没有属性';获取默认图形';与股票预测
我试图在这段代码中使用相同的代码,但在代码中间出现了一个错误Python 模块';tensorflow';没有属性';获取默认图形';与股票预测,python,tensorflow,machine-learning,keras,Python,Tensorflow,Machine Learning,Keras,我试图在这段代码中使用相同的代码,但在代码中间出现了一个错误 AttributeError Traceback (most recent call last) <ipython-input-34-9ff70788070d> in <module>() ----> 1 model = Sequential() 2 model.add(LSTM(units=50, return_sequences
AttributeError Traceback (most recent call last)
<ipython-input-34-9ff70788070d> in <module>()
----> 1 model = Sequential()
2 model.add(LSTM(units=50, return_sequences=True,input_shape=(x_train.shape[1],1)))
3 model.add(LSTM(units=50, return_sequences=False))
4 model.add(Dense(units=25))
5 model.add(Dense(units=1))
1 frames
/usr/local/lib/python3.6/dist-packages/keras/backend/tensorflow_backend.py in get_uid(prefix)
66 """
67 global _GRAPH_UID_DICTS
---> 68 graph = tf.get_default_graph()
69 if graph not in _GRAPH_UID_DICTS:
70 _GRAPH_UID_DICTS[graph] = defaultdict(int)
AttributeError: module 'tensorflow' has no attribute 'get_default_graph'
更新:根据Giorgos的回答编辑代码后,我发现错误是:
NameError Traceback (most recent call last)
<ipython-input-20-9ff70788070d> in <module>()
----> 1 model = Sequential()
2 model.add(LSTM(units=50, return_sequences=True,input_shape=(x_train.shape[1],1)))
3 model.add(LSTM(units=50, return_sequences=False))
4 model.add(Dense(units=25))
5 model.add(Dense(units=1))
NameError: name 'Sequential' is not defined
#Build the LSTM network model
model = Sequential()
model.add(LSTM(units=50, return_sequences=True,input_shape=(x_train.shape[1],1)))
model.add(LSTM(units=50, return_sequences=False))
model.add(Dense(units=25))
model.add(Dense(units=1))
下面是我得到错误的地方:
NameError Traceback (most recent call last)
<ipython-input-20-9ff70788070d> in <module>()
----> 1 model = Sequential()
2 model.add(LSTM(units=50, return_sequences=True,input_shape=(x_train.shape[1],1)))
3 model.add(LSTM(units=50, return_sequences=False))
4 model.add(Dense(units=25))
5 model.add(Dense(units=1))
NameError: name 'Sequential' is not defined
#Build the LSTM network model
model = Sequential()
model.add(LSTM(units=50, return_sequences=True,input_shape=(x_train.shape[1],1)))
model.add(LSTM(units=50, return_sequences=False))
model.add(Dense(units=25))
model.add(Dense(units=1))
如果您使用的是
tf.keras
,而不是
from keras.models import Sequential
from keras.layers import Dense, LSTM
使用以下命令:
import tensorflow as tf
model = tf.keras.Sequential()
model.add(tf.keras.layers.LSTM(units=50, return_sequences=True,input_shape=(x_train.shape[1],1)))
model.add(tf.keras.layers.LSTM(units=50, return_sequences=False))
model.add(tf.keras.layers.Dense(units=25))
model.add(tf.keras.layers.Dense(units=1))
还要确保从keras.models import Sequential中删除旧的导入
,以便Sequential()
不会在命名空间中被覆盖。这同样适用于keras的。层导入密集,LSTM
您的keras
和TensorFlow
之间可能存在一些不兼容。对我来说,成功的方法是使用sudo pip uninstall Keras
卸载Keras
并重新安装它。这可能是版本问题-get\u default\u graph
已从TF2.0中的基本tensorflow模块中删除。看起来它仍然可以通过tf.compat.v1.get_default_graph
(请参阅)导入。重新阅读您的问题,问题似乎就在Keras本身之内。我会检查您安装的Keras和Tensorflow的版本。@BrendanA。我添加了“tf.compat.v1.get\u default\u graph”,但仍然是相同的错误。@BrendanA。我目前使用的是1 model=Sequential()2 model.add(LSTM(units=50,return_sequences=True,input_shape=(x_train.shape[1],1)))3 model.add(LSTM(units=50,return_sequences=False))4 model.add(densite(units=25))5 model.add(densite(units=1))name错误:名称“Sequential”不正确defined@Abood我可以看到model=Sequential()
。您的导入非常混乱,因此我不相信您是否实际更改了导入。如果您需要更多帮助,请更新问题中的导入。不幸的是,出现了一个新错误:InvalidArgumentError:维度0的切片索引0超出范围。对于输入形状为[0、、1]、[1]、[1]的“lstm_2/Stread_slice_2”(op:“Streadslice”),[1]和计算输入张量:输入[1]=,输入[2]=,输入[3]=。我在链接中尝试了答案,但不起作用。非常感谢您的时间。我将回答您所说的另一个问题,再次感谢链接: