<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def GlorotNormalInitializer(out_dim=0, in_dim=1, scale=onp.sqrt(2)):
 """An initializer function for random Glorot-scaled coefficients."""

  def init(shape, rng):
    fan_in, fan_out = shape[in_dim], shape[out_dim]
    size = onp.prod(onp.delete(shape, [in_dim, out_dim]))
    std = scale / np.sqrt((fan_in + fan_out) / 2. * size)
    return (std * backend.random.normal(rng, shape)).astype('float32')
  return init