code: def test_ludwig_encoder_gray_scale_image_augmentation_pipeline(
      train_data_gray_scale,
      augmentation_pipeline_ops,
  ):
      run_augmentation_training(
          train_data=train_data_gray_scale,
          backend="local",
          encoder={"type": "stacked_cnn", "num_filters": 1},
          preprocessing={},
          augmentation_pipeline_ops=augmentation_pipeline_ops,
      )
  
imports: import copy
  import logging
  import os
  import tempfile
  from typing import Dict, List
  import pytest
  import torch
  from ludwig.api import LudwigModel
  from ludwig.constants import IMAGENET1K
  from ludwig.data.dataset_synthesizer import cli_synthesize_dataset
  from ludwig.error import ConfigValidationError
  from ludwig.features.image_feature import ImageAugmentation
  from ludwig.schema.features.image_feature import ImageInputFeatureConfig
label_desc: Use image node_id 8 for calling a global function with example usage: test_ludwig_encoder_gray_scale_image_augmentation_pipeline(train_data_gray_scale, augmentation_pipeline_ops) without return types