Модуль Tenorsflow не имеет атрибута get_default_graph с прогнозом запасов - PullRequest
1 голос
/ 09 апреля 2020

Я пытаюсь использовать тот же код на этой странице , но в середине кода появляется ошибка.

    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'

Вот мой список импорта:

    #Import the libraries
from tensorflow.keras import backend as K
from tensorflow.keras.models import Sequential, load_model
from tensorflow.keras.layers import LSTM, Dense, RepeatVector, Masking, TimeDistributed
from tensorflow. keras.utils import plot_model
import quandl
import numpy as np 
from sklearn.linear_model import LinearRegression
from sklearn.svm import SVR
import pandas_datareader as web

from sklearn.model_selection import train_test_split
import math
from keras.models import Sequential


from keras.layers import Dense, LSTM
from sklearn.preprocessing import MinMaxScaler
#import tensorflow as tf
#newinv=inventory+str(add)
from tensorflow.keras.layers import Embedding

from matplotlib import pyplot as plt
python tensorflow machine-learning keras

Обновление: После редактирования кода, основанного на ответе 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

Вот мой список импорта :

       import math
import pandas_datareader as web
import numpy as np
import pandas as pd
from sklearn.preprocessing import MinMaxScaler
import quandl
import tensorflow as tf
model = tf.keras.Sequential()
from keras.layers import Dense, LSTM
import matplotlib.pyplot as plt
plt.style.use('fivethirtyeight')

Вот где я получаю сообщение об ошибке:

#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))

1 Ответ

1 голос
/ 09 апреля 2020

Если вы используете 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))

А также обязательно удалите старый импорт from keras.models import Sequential так что Sequential() не перезаписывается в пространстве имен. То же самое относится к from keras.layers import Dense, LSTM.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...