class_docstr: Gumbel Sinkhorn Layer turns the input matrix into a bi-stochastic matrix.
  See details in `"Mena et al. Learning Latent Permutations with Gumbel-Sinkhorn Networks. ICLR 2018"
  <https://arxiv.org/abs/1802.08665>`_
  :param max_iter: maximum iterations (default: ``10``)
  :param tau: the hyper parameter :math:`     au` controlling the temperature (default: ``1``)
  :param epsilon: a small number for numerical stability (default: ``1e-4``)
  :param batched_operation: apply batched_operation for better efficiency (but may cause issues for back-propagation,
   default: ``False``)
  .. note::
      This module only supports log-scale Sinkhorn operation.
class_docstr_tok: ["Gumbel","Sinkhorn","Layer","turns","the","input","matrix","into","a","bi-stochastic","matrix",".","See","details","in","`","``","Mena","et","al",".","Learning","Latent","Permutations","with","Gumbel-Sinkhorn","Networks",".","ICLR","2018","''","<","https",":","\/\/arxiv.org\/abs\/1802.08665",">","`","_",":","param","max_iter",":","maximum","iterations","(","default",":","``","10","``",")",":","param","tau",":","the","hyper","parameter",":","math",":","`","au","`","controlling","the","temperature","(","default",":","``","1","``",")",":","param","epsilon",":","a","small","number","for","numerical","stability","(","default",":","``","1e-4","``",")",":","param","batched_operation",":","apply","batched_operation","for","better","efficiency","(","but","may","cause","issues","for","back-propagation",",","default",":","``","False","``",")","..","note",":",":","This","module","only","supports","log-scale","Sinkhorn","operation","."]
code: def __init__(
      self, max_iter=10, tau=1.0, epsilon=1e-4, batched_operation=False
  ):
      super(GumbelSinkhorn, self).__init__()
      self.sinkhorn = Sinkhorn(
          max_iter, tau, epsilon, batched_operation=batched_operation
      )
  
file_path: DIG/dig/auggraph/method/SMixup/utils/sinkhorn.py
imports: import torch
  import torch.nn
  from torch import Tensor
  import pygmtools
label_desc: Use image node_id 1 to create a new GumbelSinkhorn object from inherited base classes: nn with example: obj = GumbelSinkhorn(max_iter, tau, epsilon, batched_operation)