code: def test_train_cli_dataset(tmpdir, csv_filename):
      """Test training using `ludwig train --dataset`."""
      config_filename = os.path.join(tmpdir, "config.yaml")
      dataset_filename = _prepare_data(csv_filename, config_filename)
      _run_ludwig(
          "train",
          dataset=dataset_filename,
          config=config_filename,
          output_directory=str(tmpdir),
      )
  
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 6 for calling a global function with example usage: test_train_cli_dataset(tmpdir, csv_filename) without return types