human
Complete this python program:
def lstm_ortho_initializer(scale=1.0):
assistant
#Here is the Python program you requested.

    """LSTM orthogonal initializer.
    """
    def _initializer(shape, dtype=tf.float32, partition_info=None):
        size_x = shape[0]
        size_h = (shape[1] / 4)
        t = np.zeros(shape)
        t[:, :size_h] = (orthogonal([size_x, size_h]) * scale)
        t[:, size_h:(size_h * 2)] = (orthogonal([size_x, size_h]) * scale)
        t[:, (size_h * 2):(size_h * 3)] = (orthogonal([size_x, size_h]) * scale)
        t[:, (size_h * 3):] = (orthogonal([size_x, size_h]) * scale)
        return tf.constant(t, dtype)
    return _initializer