message: Untrunctaed normal distribution in VarianceScalingInitializer
diff: @@ -409,8 +409,10 @@ class UniformUnitScaling(Initializer):
  class VarianceScaling(Initializer):
  """Initializer capable of adapting its scale to the shape of weights tensors.
  - With `distribution="normal"`, samples are drawn from a truncated normal
  - distribution centered on zero, with `stddev = sqrt(scale / n)`
  + With `distribution="truncated_normal" or "untruncated_normal"`,
  + samples are drawn from a truncated/untruncated normal
  + distribution with a mean of zero and a standard deviation (after truncation,
  + if used) `stddev = sqrt(scale / n)`
  where n is:
  - number of input units in the weight tensor, if mode = "fan_in"
  - number of output units, if mode = "fan_out"
  @@ -419,6 +421,8 @@ class VarianceScaling(Initializer):
  With `distribution="uniform"`, samples are drawn from a uniform distribution
  within [-limit, limit], with `limit = sqrt(3 * scale / n)`.
  + `distribution="normal"` is a deprecated alias for "truncated_normal".
  +
  Args:
  scale: Scaling factor (positive float).
  mode: One of "fan_in", "fan_out", "fan_avg".
  @@ -436,7 +440,7 @@ class VarianceScaling(Initializer):
  def __init__(self,
  scale=1.0,
  mode="fan_in",
  - distribution="normal",
  + distribution="truncated_normal",
  seed=None,
  dtype=dtypes.float32):
  if scale <= 0.:
  @@ -444,7 +448,8 @@ class VarianceScaling(Initializer):
  if mode not in {"fan_in", "fan_out", "fan_avg"}:
  raise ValueError("Invalid `mode` argument:", mode)
  distribution = distribution.lower()
  - if distribution not in {"normal", "uniform"}:
  + if distribution not in {"normal", "uniform",
  + "truncated_normal", "untruncated_normal"}:
  raise ValueError("Invalid `distribution` argument:", distribution)
  self.scale = scale
  self.mode = mode
  @@ -466,11 +471,14 @@ class VarianceScaling(Initializer):
  scale /= max(1., fan_out)
  else:
  scale /= max(1., (fan_in + fan_out) / 2.)
  - if self.distribution == "normal":
  + if self.distribution == "normal" or self.distribution == "truncated_normal":
  # constant taken from scipy.stats.truncnorm.std(a=-2, b=2, loc=0., scale=1.)
  stddev = math.sqrt(scale) / .87962566103423978
  return random_ops.truncated_normal(
  shape, 0.0, stddev, dtype, seed=self.seed)
  + elif self.distribution == "untruncated_normal":
  + return random_ops.random_normal(
  + shape, 0.0, stddev, dtype, seed=self.seed)
  else:
  limit = math.sqrt(3.0 * scale)
  return random_ops.random_uniform(
  