batdetect2/docs/source/getting_started.md

124 lines
3.4 KiB
Markdown
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Getting started
If you want to run BatDetect2 on your recordings,
start with the command-line route below.
You do not need to write Python code for a standard first run.
BatDetect2 also has a Python interface,
but that is mainly for users writing their own analysis scripts.
- Use the command-line route if you want to run an existing model or train your own model by typing commands in a terminal window.
- Use the Python route only if you already want to work in scripts or notebooks.
```{note}
If you are looking for the previous BatDetect2 workflow based on `batdetect2 detect` or `batdetect2.api`, go to {doc}`legacy/index`.
New docs default to the current `predict` CLI and `BatDetect2API` workflow.
```
If you want to try BatDetect2 before installing anything locally:
- [Hugging Face demo (UK species)](https://huggingface.co/spaces/macaodha/batdetect2)
- [Google Colab notebook](https://colab.research.google.com/github/macaodha/batdetect2/blob/master/batdetect2_notebook.ipynb)
## The simplest route for most users
1. Install BatDetect2.
2. Use a model checkpoint.
3. Run the first tutorial on a folder of recordings.
If that is what you want,
you can ignore the Python sections for now.
## Install BatDetect2
We recommend `uv` for both workflows.
`uv` is a tool that helps install Python software cleanly,
without mixing it into the rest of your machine.
- Use `uv tool` to install the CLI.
- Use `uv add` to add `batdetect2` as a dependency in a Python project.
Install `uv` first by following their
[installation instructions](https://docs.astral.sh/uv/getting-started/installation/).
## Install the CLI
The following installs `batdetect2` in its own small environment and makes the
`batdetect2` command available on your machine.
```bash
uv tool install batdetect2
```
If you need to upgrade later:
```bash
uv tool upgrade batdetect2
```
Verify the CLI is available:
```bash
batdetect2 --help
```
Run your first workflow:
Go to {doc}`tutorials/run-inference-on-folder` for a complete first run.
## Choose a model checkpoint
The current command-line and Python workflows expect an explicit checkpoint path.
A checkpoint is the saved model file that BatDetect2 will use for prediction.
You can use:
- a checkpoint you trained yourself, or
- a checkpoint distributed with your installation or repository checkout.
In this repository checkout, an example pretrained checkpoint is available at:
```text
src/batdetect2/models/checkpoints/Net2DFast_UK_same.pth.tar
```
Use that path in the tutorial commands if you want a concrete starting point from this source tree.
## Python route for users writing code
If you are using BatDetect2 from Python code, add it to your Python project:
```bash
uv add batdetect2
```
This keeps your project settings and installed packages in sync.
### Alternative with `pip`
If you prefer `pip`, create and activate a virtual environment first:
```bash
python -m venv .venv
source .venv/bin/activate
```
Then install from PyPI:
```bash
pip install batdetect2
```
## What's next
- Run your first workflow on a folder of recordings:
{doc}`tutorials/run-inference-on-folder`
- If you write code and want the Python route:
{doc}`tutorials/integrate-with-a-python-pipeline`
- For common practical tasks, go to {doc}`how_to/index`
- For detailed command help, go to {doc}`reference/cli/index`
- To understand outputs and trade-offs, go to {doc}`explanation/index`