code: def update_progress_desc(
      self, neg_value: float, grad: np.float64 = None
  ) -> None:
      if self.progressbar:
          if grad is None:
              self.progress.comment = self.desc.format(neg_value)
          else:
              norm_grad = np.linalg.norm(grad)
              self.progress.comment = self.desc.format(
                  neg_value, norm_grad
              )
  
imports: import sys
  import warnings
  from typing import Optional, Sequence
  import numpy
  import pytensor.gradient
  from fastprogress.fastprogress import ProgressBar, progress_bar
  from numpy import isfinite
  from pytensor import Variable
  from scipy.optimize import minimize
  import pymc
  from pymc.blocking import DictToArrayBijection, RaveledVars
  from pymc.initial_point import make_initial_point_fn
  from pymc.model import modelcontext
  from pymc.util import get_default_varnames, get_value_vars_from_user_vars
  from pymc.vartypes import discrete_types, typefilter
label_desc: Use image node_id 3 for calling the CostFuncWrapper obj's underlying member method code with example usage: obj.update_progress_desc(neg_value, grad) without return types