code: def test_fail_per_frame_no_frames():
      @pipeline_def
      def pipeline():
          blob = fn.random.uniform(range=[0, 1], shape=(3, 200, 100))
          image = fn.reshape(blob, layout="CHW")
          per_channel = np.array([3, 5, 7])
          return fn.gaussian_blur(
              image, window_size=fn.per_frame(per_channel)
          )
  
      pipe = pipeline(batch_size=8, num_threads=4, device_id=0)
      pipe.build()
      pipe.run()
  
imports: from nvidia.dali.pipeline import Pipeline, pipeline_def
  import nvidia.dali.types
  import nvidia.dali.fn
  import numpy
  import cv2
  from scipy.ndimage import convolve1d
  import os
  from nose_utils import assert_raises, raises
  from nose.plugins.attrib import attr
  from sequences_test_utils import video_suite_helper, ArgCb
  from test_utils import get_dali_extra_path, check_batch, compare_pipelines, RandomlyShapedDataIterator, dali_type
label_desc: Use image node_id 24 for calling a global function with example usage: test_fail_per_frame_no_frames() and returns: fn