code: def PoolSizeField(default: Optional[int] = None) -> Field:
      return schema_utils.PositiveInteger(
          default=None,
          allow_none=True,
          description=(
              "The default pool_size that will be used for each layer. If a pool_size is not already specified "
              "in conv_layers this is the default pool_size that will be used for each layer. It indicates the size of "
              "the max pooling that will be performed along the `s` sequence dimension after the convolution operation."
          ),
          parameter_metadata=ENCODER_METADATA["conv_params"][
              "pool_size"
          ],
      )
  
imports: from dataclasses import Field
  from typing import List, Optional, TYPE_CHECKING
  from ludwig.api_annotations import DeveloperAPI
  from ludwig.constants import AUDIO, SEQUENCE, TEXT, TIMESERIES
  from ludwig.schema import common_fields
  from ludwig.schema import utils
  from ludwig.schema.encoders.base import BaseEncoderConfig
  from ludwig.schema.encoders.utils import register_encoder_config
  from ludwig.schema.metadata import ENCODER_METADATA
  from ludwig.schema.utils import ludwig_dataclass
label_desc: Use image node_id 4 for calling a global function with example usage: PoolSizeField(default) and returns: schema_utils