code: def test_pandas_size():
      df = pd.DataFrame(
          {
              "name": ["joe", "janice", "sara"],
              "mask": ["green", "black", "pink"],
              "weapon": ["stick", "gun", "gun"],
          }
      )
      config = yaml.safe_load(
          """
      model_type: llm
      base_model: HuggingFaceH4/tiny-random-LlamaForCausalLM
      input_features:
      - name: name
        type: text
        preprocessing:
          max_sequence_length: 256
        column: name
      output_features:
      - name: weapon
        type: text
        preprocessing:
          max_sequence_length: 256
        column: weapon
      preprocessing:
        split:
          type: random
          probabilities:
            - 1
            - 0
            - 0
      """
      )
      model = LudwigModel(config=config, logging_level=logging.INFO)
      data = model.preprocess(df, skip_save_processed_input=False)
      training_set = data[0]
      assert training_set.size == len(df)
  
      # Check if string loading works as well
      # data[0].data_hdf5_fp is the string filepath to the cached data from preprocessing
      data_from_str = PandasDataset(
          data[0].data_hdf5_fp, data[0].features, None
      )
      assert data_from_str.size == len(df)
  
imports: import logging
  import pandas
  import yaml
  from ludwig.api import LudwigModel
  from ludwig.data.dataset.pandas import PandasDataset
label_desc: Use image node_id 1 for calling a global function with example usage: test_pandas_size() without return types