class_docstr: Uniform scaling initializer.
docstr: Construct an initializer for uniformly distributed orthogonal matrices.
  
  These matrices will be row-orthonormal along the access specified by
  ``axis``. If the rank of the weight is greater than 2, the shape will be
  flattened in all other dimensions and then will be row-orthonormal along the
  final dimension. Note that this only works if the ``axis`` dimension is
  larger, otherwise the matrix will be transposed (equivalently, it will be
  column orthonormal instead of row orthonormal).
  
  If the shape is not square, the matrices will have orthonormal rows or
  columns depending on which side is smaller.
  
  Args:
    scale: Scale factor.
    axis: Which axis corresponds to the "output dimension" of the tensor.
  
  Returns:
    An orthogonally initialized parameter.
docstr_tok: ["Construct","an","initializer","for","uniformly","distributed","orthogonal","matrices",".","These","matrices","will","be","row-orthonormal","along","the","access","specified","by","``","axis","``",".","If","the","rank","of","the","weight","is","greater","than","2",",","the","shape","will","be","flattened","in","all","other","dimensions","and","then","will","be","row-orthonormal","along","the","final","dimension",".","Note","that","this","only","works","if","the","``","axis","``","dimension","is","larger",",","otherwise","the","matrix","will","be","transposed","(","equivalently",",","it","will","be","column","orthonormal","instead","of","row","orthonormal",")",".","If","the","shape","is","not","square",",","the","matrices","will","have","orthonormal","rows","or","columns","depending","on","which","side","is","smaller",".","Args",":","scale",":","Scale","factor",".","axis",":","Which","axis","corresponds","to","the","``","output","dimension","''","of","the","tensor",".","Returns",":","An","orthogonally","initialized","parameter","."]
code: def __init__(self, scale=1.0, axis=-1):
      """Construct an initializer for uniformly distributed orthogonal matrices.
  
      These matrices will be row-orthonormal along the access specified by
      ``axis``. If the rank of the weight is greater than 2, the shape will be
      flattened in all other dimensions and then will be row-orthonormal along the
      final dimension. Note that this only works if the ``axis`` dimension is
      larger, otherwise the matrix will be transposed (equivalently, it will be
      column orthonormal instead of row orthonormal).
  
      If the shape is not square, the matrices will have orthonormal rows or
      columns depending on which side is smaller.
  
      Args:
        scale: Scale factor.
        axis: Which axis corresponds to the "output dimension" of the tensor.
  
      Returns:
        An orthogonally initialized parameter.
      """
      self.scale = scale
      self.axis = axis
  
imports: from collections.abc import Sequence
  from typing import Any, Union
  from haiku._src import base
  from haiku._src.typing import Initializer
  import jax
  import jax.numpy
  import numpy
label_desc: Use image node_id 1 to create a new Orthogonal object from inherited base classes: hk.initializers with example: obj = Orthogonal(scale, axis)