in recommenders/models/deeprec/models/base_model.py [0:0]
def _get_initializer(self):
if self.hparams.init_method == "tnormal":
return tf.compat.v1.truncated_normal_initializer(
stddev=self.hparams.init_value, seed=self.seed
)
elif self.hparams.init_method == "uniform":
return tf.compat.v1.random_uniform_initializer(
-self.hparams.init_value, self.hparams.init_value, seed=self.seed
)
elif self.hparams.init_method == "normal":
return tf.compat.v1.random_normal_initializer(
stddev=self.hparams.init_value, seed=self.seed
)
elif self.hparams.init_method == "xavier_normal":
return tf.compat.v1.keras.initializers.VarianceScaling(
scale=1.0,
mode="fan_avg",
distribution=("uniform" if False else "truncated_normal"),
seed=self.seed,
)
elif self.hparams.init_method == "xavier_uniform":
return tf.compat.v1.keras.initializers.VarianceScaling(
scale=1.0,
mode="fan_avg",
distribution=("uniform" if True else "truncated_normal"),
seed=self.seed,
)
elif self.hparams.init_method == "he_normal":
return tf.compat.v1.keras.initializers.VarianceScaling(
scale=2.0,
mode=("FAN_IN").lower(),
distribution=("uniform" if False else "truncated_normal"),
seed=self.seed,
)
elif self.hparams.init_method == "he_uniform":
return tf.compat.v1.keras.initializers.VarianceScaling(
scale=2.0,
mode=("FAN_IN").lower(),
distribution=("uniform" if True else "truncated_normal"),
seed=self.seed,
)
else:
return tf.compat.v1.truncated_normal_initializer(
stddev=self.hparams.init_value, seed=self.seed
)