code: def test_init_config(tmpdir):
      """Test initializing a config from a dataset and a target."""
      input_features = [
          number_feature(),
          number_feature(),
          category_feature(encoder={"vocab_size": 3}),
          category_feature(encoder={"vocab_size": 3}),
      ]
      output_features = [category_feature(decoder={"vocab_size": 3})]
      dataset_csv = generate_data(
          input_features,
          output_features,
          os.path.join(tmpdir, "dataset.csv"),
          num_examples=100,
      )
      output_config_path = os.path.join(tmpdir, "config.yaml")
  
      _run_ludwig(
          "init_config",
          dataset=dataset_csv,
          target=output_features[0][NAME],
          output=output_config_path,
      )
  
      config = load_yaml(output_config_path)
  
      def to_name_set(features: List[FeatureConfigDict]) -> Set[str]:
          return {feature[NAME] for feature in features}
  
      assert to_name_set(config[INPUT_FEATURES]) == to_name_set(
          input_features
      )
      assert to_name_set(config[OUTPUT_FEATURES]) == to_name_set(
          output_features
      )
  
imports: import json
  import os
  import os.path
  import pathlib
  import shutil
  import subprocess
  from typing import List, Set
  import pytest
  import yaml
  from ludwig.constants import BATCH_SIZE, COMBINER, EVAL_BATCH_SIZE, INPUT_FEATURES, NAME, OUTPUT_FEATURES, PREPROCESSING, TRAINER
  from ludwig.types import FeatureConfigDict
  from ludwig.utils.data_utils import load_yaml
  from tests.integration_tests.utils import category_feature, generate_data, number_feature, sequence_feature
label_desc: Use image node_id 21 for calling a global function with example usage: test_init_config(tmpdir) and returns: unknown