class_docstr: Project into the Poincare ball with `norm <= 1.0 - epsilon`.
  
  See [Poincaré Embeddings for Learning Hierarchical Representations](https://arxiv.org/pdf/1705.08039.pdf),
  and [wiki](https://en.wikipedia.org/wiki/Poincare_ball_model).
  
  For a 1-D tensor with `axis = 0`, computes
  
                (x * (1 - epsilon)) / ||x||     if ||x|| > 1 - epsilon
      output =
                 x                              otherwise
  
  For `x` with more dimensions, independently normalizes each 1-D slice along
  dimension `axis`.
  
  Args:
    axis: Axis along which to normalize.  A scalar or a vector of integers.
    epsilon: A small deviation from the edge of the unit sphere for
      numerical stability.
code: def compute_output_shape(self, input_shape):
      return input_shape
  
file_path: addons/tensorflow_addons/layers/poincare.py
imports: import tensorflow
  from typeguard import typechecked
  from typing import Union, List
label_desc: Use image node_id 3 for calling the PoincareNormalize obj's underlying member method code with example usage: obj.compute_output_shape(input_shape) and returns: input_shape