code: def check_operator_mel_filter_bank_vs_python(
      device,
      batch_size,
      max_shape,
      nfilter,
      sample_rate,
      freq_low,
      freq_high,
      normalize,
      mel_formula,
      layout,
  ):
      f_axis = layout.find("f")
      min_shape = [1 for _ in max_shape]
      min_shape[f_axis] = max_shape[f_axis]
      eii1 = RandomlyShapedDataIterator(
          batch_size,
          min_shape=min_shape,
          max_shape=max_shape,
          dtype=np.float32,
      )
      eii2 = RandomlyShapedDataIterator(
          batch_size,
          min_shape=min_shape,
          max_shape=max_shape,
          dtype=np.float32,
      )
      compare_pipelines(
          MelFilterBankPipeline(
              device,
              batch_size,
              iter(eii1),
              nfilter=nfilter,
              sample_rate=sample_rate,
              freq_low=freq_low,
              freq_high=freq_high,
              normalize=normalize,
              mel_formula=mel_formula,
              layout=layout,
          ),
          MelFilterBankPythonPipeline(
              device,
              batch_size,
              iter(eii2),
              nfilter=nfilter,
              sample_rate=sample_rate,
              freq_low=freq_low,
              freq_high=freq_high,
              normalize=normalize,
              mel_formula=mel_formula,
              layout=layout,
          ),
          batch_size=batch_size,
          N_iterations=3,
          eps=1e-03,
      )
  
imports: from nvidia.dali.pipeline import Pipeline
  import nvidia.dali.ops
  import numpy
  from functools import partial
  from test_utils import compare_pipelines
  from test_utils import RandomlyShapedDataIterator
  import librosa
label_desc: Use image node_id 2 for calling a global function with example usage: check_operator_mel_filter_bank_vs_python(device, batch_size, max_shape, nfilter, sample_rate, freq_low, freq_high, normalize, mel_formula, layout) without return types