# How to choose an inference input mode Use this guide to decide whether `predict directory`, `predict file_list`, or `predict dataset` is the right entry point for your run. ## Use `predict directory` when the recordings already live together This is the simplest choice. Use it when: - your recordings are already organized in one directory tree, - you want BatDetect2 to discover audio files for you, - you are doing a first pass over a folder of recordings. ```bash batdetect2 predict directory \ path/to/model.ckpt \ path/to/audio_dir \ path/to/outputs ``` ## Use `predict file_list` when you need explicit control over the file set Use it when: - you want to run only a selected subset, - your files are spread across directories, - another tool has already produced the exact list of recordings to process. The list file should contain one path per line. ```bash batdetect2 predict file_list \ path/to/model.ckpt \ path/to/audio_files.txt \ path/to/outputs ``` ## Use `predict dataset` when your workflow is already annotation-set driven Use it when: - your project already has a `soundevent` annotation set, - you want prediction runs aligned with that annotation metadata, - you want BatDetect2 to resolve recording paths from the annotation set. ```bash batdetect2 predict dataset \ path/to/model.ckpt \ path/to/annotation_set.json \ path/to/outputs ``` The dataset command reads a `soundevent` annotation set and extracts unique recording paths before inference. ## Rule of thumb - Start with `directory` for the easiest first run. - Use `file_list` when selection matters. - Use `dataset` when the rest of your workflow is already dataset-based. ## Related pages - Run batch predictions: {doc}`run-batch-predictions` - Tune inference clipping: {doc}`tune-inference-clipping` - Predict command reference: {doc}`../reference/cli/predict`