From 092d896a512522389c0b0861f0df410a0ae7b161 Mon Sep 17 00:00:00 2001 From: Pradyumna Singh Rathore Date: Fri, 23 Sep 2022 03:19:37 +0530 Subject: [PATCH] add init_seed in Functional as a way to make weights initialization reproducible --- sciann/functionals/functional.py | 7 ++++++- sciann/utils/utilities.py | 2 ++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/sciann/functionals/functional.py b/sciann/functionals/functional.py index 0cde825..49db36f 100644 --- a/sciann/functionals/functional.py +++ b/sciann/functionals/functional.py @@ -57,6 +57,9 @@ trainable: Boolean. False if network is not trainable, True otherwise. Default value is True. + init_seed: int. + To make weights initialization reproducible. + Default value is True. # Raises ValueError: @@ -74,6 +77,7 @@ def Functional( kernel_regularizer=None, bias_regularizer=None, trainable=True, + init_seed=None, **kwargs): # prepare hidden layers. if hidden_layers is None: @@ -85,7 +89,8 @@ def Functional( # prepare kernel initializers. activations, def_biasinit, def_kerinit = \ prepare_default_activations_and_initializers( - len(hidden_layers) * [activation] + [output_activation] + len(hidden_layers) * [activation] + [output_activation], + seed=init_seed ) if kernel_initializer is None: kernel_initializer = def_kerinit diff --git a/sciann/utils/utilities.py b/sciann/utils/utilities.py index 1f76417..4f2ef59 100644 --- a/sciann/utils/utilities.py +++ b/sciann/utils/utilities.py @@ -6,6 +6,7 @@ from __future__ import print_function import os +import random import numpy as np from numpy import pi @@ -49,6 +50,7 @@ def set_random_seed(val=1234): val: A seed value.. """ + random.seed(val) np.random.seed(val) if _is_tf_1(): tf.set_random_seed(val)