class_docstr: Adapted from https://github.com/huggingface/peft/blob/main/src/peft/tuners/adaption_prompt/config.py.
class_docstr_tok: ["Adapted","from","https",":","\/\/github.com\/huggingface\/peft\/blob\/main\/src\/peft\/tuners\/adaption_prompt\/config.py","."]
code: def __post_init__(self):
      if not self.adapter_len:
          raise ConfigValidationError(
              "`adapter_len` must be set to a value greater than 0 when finetuning is enabled and the adapter"
              "type is `adaption_prompt`. This is the length of the adaption prompt to insert."
          )
  
      if not self.adapter_layers:
          raise ConfigValidationError(
              "`adapter_layers` must be set to a value greater than 0 when finetuning is enabled and the adapter"
              "type is `adaption_prompt`. This is the number of adapter layers to insert."
          )
  
imports: from abc import ABC, abstractmethod
  from typing import List, Optional, Type, TYPE_CHECKING
  from ludwig.api_annotations import DeveloperAPI
  from ludwig.error import ConfigValidationError
  from ludwig.schema import utils
  from ludwig.schema.metadata import LLM_METADATA
  from ludwig.schema.metadata.parameter_metadata import convert_metadata_to_json
  from ludwig.schema.utils import ludwig_dataclass
  from ludwig.utils.registry import Registry
label_desc: Use image node_id 1 for calling the AdaptionPromptConfig obj's underlying member method code with example usage: obj.__post_init__() without return types