class_docstr: Single-Shot Multibox Object Detection Loss.
  
  .. note::
  
      Since cross device synchronization is required to compute batch-wise statistics,
      it is slightly sub-optimal compared with non-sync version. However, we find this
      is better for converged model performance.
  
  Parameters
  ----------
  negative_mining_ratio : float, default is 3
      Ratio of negative vs. positive samples.
  rho : float, default is 1.0
      Threshold for trimmed mean estimators. This is the smooth parameter for the
      L1-L2 transition.
  lambd : float, default is 1.0
      Relative weight between classification and box regression loss.
      The overall loss is computed as :math:`L = loss_{class} + \lambda \times loss_{loc}`.
  min_hard_negatives : int, default is 0
      Minimum number of negatives samples.
class_docstr_tok: ["Single-Shot","Multibox","Object","Detection","Loss",".","..","note",":",":","Since","cross","device","synchronization","is","required","to","compute","batch-wise","statistics",",","it","is","slightly","sub-optimal","compared","with","non-sync","version",".","However",",","we","find","this","is","better","for","converged","model","performance",".","Parameters","--","--","--","--","--","negative_mining_ratio",":","float",",","default","is","3","Ratio","of","negative","vs.","positive","samples",".","rho",":","float",",","default","is","1.0","Threshold","for","trimmed","mean","estimators",".","This","is","the","smooth","parameter","for","the","L1-L2","transition",".","lambd",":","float",",","default","is","1.0","Relative","weight","between","classification","and","box","regression","loss",".","The","overall","loss","is","computed","as",":","math",":","`","L","=","loss_","{","class","}","+","\\lambda","\\times","loss_","{","loc","}","`",".","min_hard_negatives",":","int",",","default","is","0","Minimum","number","of","negatives","samples","."]
code: def __init__(
      self,
      negative_mining_ratio=3,
      rho=1.0,
      lambd=1.0,
      min_hard_negatives=0,
      **kwargs,
  ):
      super(SSDMultiBoxLoss, self).__init__(**kwargs)
      self._negative_mining_ratio = max(0, negative_mining_ratio)
      self._rho = rho
      self._lambd = lambd
      self._min_hard_negatives = max(0, min_hard_negatives)
  
imports: from __future__ import absolute_import
  from mxnet import gluon
  from mxnet import nd
  from mxnet.gluon.loss import Loss, _apply_weighting, _reshape_like
label_desc: Use image node_id 1 to create a new SSDMultiBoxLoss object from inherited base classes: gluon with example: obj = SSDMultiBoxLoss(negative_mining_ratio, rho, lambd, min_hard_negatives)