Jedes Mal wenn ich LSTM-Netzwerk mit Keras im jupyter Notizbuch laufe, habe ich ein anderes Ergebnis, und ich habe viel gegoogelt, und ich habe einige verschiedene Lösungen ausprobiert, aber keine von sie arbeiten werden, hier sind einige Lösungen, die ich versucht:Wie reproduzierbares Ergebnis erhalten, wenn Keras mit Tensorflow Backend
Satz
random_seed=2017 from numpy.random import seed seed(random_seed)
gesetzt tensorflow Zufallssaat Zufallskeim
01 numpyfrom tensorflow import set_random_seed set_random_seed(random_seed)
Satz build-in zufälligen Samen
import random random.seed(random_seed)
Satz PYTHONHASHSEED
import os os.environ['PYTHONHASHSEED'] = '0'
PYTHONHASHSEED in jupyter Notebook kernel.json hinzufügen
{ "language": "python", "display_name": "Python 3", "env": {"PYTHONHASHSEED": "0"}, "argv": [ "python", "-m", "ipykernel_launcher", "-f", "{connection_file}" ] }
und die Version meiner env ist:
Keras: 2.0.6
Tensorflow: 1.2.1
CPU or GPU: CPU
und dies ist mein Code:
model = Sequential()
model.add(LSTM(16, input_shape=(time_steps,nb_features), return_sequences=True))
model.add(LSTM(16, input_shape=(time_steps,nb_features), return_sequences=False))
model.add(Dense(8,activation='relu'))
model.add(Dense(1,activation='linear'))
model.compile(loss='mse',optimizer='adam')
Ergebnisse können aus verschiedenen Gründen variieren (z. B. zufällige Initiierung von Variablen). Wenn Sie also keinen Modellcode angeben, können wir nur so viel helfen – dv3