0

I am trying to code an LSTM that takes as input 7 daily channel spendings and tries to predict the daily sales. After the first epoch loss value is nan and weights are all nan. And it stays like that. I tried different learning rates and initializations and nodes but nothing seems to work. I have also tried different optimizers such as Adam and SGD. I think I am doing a more fundamental mistake.

df = pd.read_csv('Fransa.csv')
scaler = MinMaxScaler()
scaler.fit(df)
data_array = scaler.transform(df)

X = data_array[:, :-1]  
y = data_array[:, -1] 
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.05, shuffle=False)
X_train = X_train.reshape((X_train.shape[0], X_train.shape[1], 1))
X_test = X_test.reshape((X_test.shape[0], X_test.shape[1], 1))

model = Sequential()
model.add(LSTM(1, input_shape=(X_train.shape[1], 1), kernel_initializer='random_normal'))
model.add(Dense(1))

learning_rate = 0.001
optimizer = tf.keras.optimizers.SGD(learning_rate=learning_rate)
model.compile(optimizer=optimizer, loss='mse')
model.fit(X_train, y_train ,epochs=1 , verbose=1)
Flavia Giammarino
  • 7,987
  • 11
  • 30
  • 40

0 Answers0