code: def _estimate_log_weights(self):
      if self.weight_concentration_prior_type == "dirichlet_process":
          digamma_sum = torch.digamma(
              self.weight_concentration_[0]
              + self.weight_concentration_[1]
          )
          digamma_a = torch.digamma(self.weight_concentration_[0])
          digamma_b = torch.digamma(self.weight_concentration_[1])
          return (
              digamma_a
              - digamma_sum
              + torch.hstack(
                  (
                      torch.Tensor([0]),
                      torch.cumsum(digamma_b - digamma_sum, dim=0)[:-1],
                  )
              )
          )
  
file_path: hummingbird/hummingbird/ml/operator_converters/_mixture_implementations.py
imports: import torch
  import torch.nn
  from ._physical_operator import PhysicalOperator
label_desc: Use image node_id 4 for calling the BayesianGaussianMixture obj's underlying member method code with example usage: obj._estimate_log_weights() and returns: unknown