'Returns an initializer for the "W_h" parameter matrix.
See equation (23) in the paper. The "W_h" parameter matrix is the
concatenation of two parameter submatrices. The matrix returned is
[U_z, U_r].
Returns:
A Tensor with shape [num_units, 2 * num_units] as described above.'

def _w_h_initializer(self):

    def _initializer(shape, dtype=tf.float32, partition_info=None):
        num_units = self._num_units
        assert (shape == [num_units, (2 * num_units)])
        u_z = self._u_initializer([num_units, num_units], dtype, partition_info)
        u_r = self._u_initializer([num_units, num_units], dtype, partition_info)
        return tf.concat([u_z, u_r], 1)
    return _initializer
