Прежде всего, используйте tenorflow.keras вместо keras.
Обычно достаточно использовать начальное число в основном скрипте следующим образом.
import random
random.seed(1)
import numpy as np
np.random.seed(1)
import tensorflow as tf
tf.random.set_seed(1)
Но, если у вас есть несколько модулей, и у них есть некоторая рандомизированная операция (например, инициализация веса), добавьте эти строки к каждому вашему модулю.
Кроме того, они не гарантируют 100% воспроизводимости, если вы используете GPU, возможно, из-за этого может быть некоторая случайность.
Вы можете использовать https://github.com/NVIDIA/tensorflow-determinism
os.environ['TF_DETERMINISTIC_OPS'] = '1'
Для тензорного потока == 2.1.0
Для тензорного потока <2,1 </p>
import tensorflow as tf
from tfdeterminism import patch
patch()