A bilingual Streamlit application for biological-species classification with dedicated ResNet-50 models trained on iNaturalist 2021 Full and the image-only labeled subset of BIOSCAN-5M. The interface supports animals, insects, plants and fungi, top predictions, confidence indicators, input-quality warnings, Google search links, and Grad-CAM visualization.
Model output is intended for research and education and requires expert review.
| Status | Dataset | Purpose | Scale |
|---|---|---|---|
| Current | iNaturalist 2021 Full | Classification of animals, plants, fungi, and other organisms | 10,000 classes; 2,686,843 training images |
| Current | BIOSCAN-5M image-only labeled subset | Insect species classification without DNA input | 11,846 classes; 289,203 training images |
| Component | Minimum | Recommended |
|---|---|---|
| Operating system | 64-bit Windows 10/11 or a current 64-bit Linux distribution | 64-bit Windows 11 |
| Python | 3.12 or 3.13, 64-bit | Python 3.12, 64-bit |
| Processor | 4-core x64 processor | 6 or more modern cores |
| Memory | 8 GB RAM | 16 GB RAM or more |
| Storage | 9 GB of free space for the application, environment, and checkpoints | 12 GB or more |
| Graphics | CPU inference is supported | NVIDIA GPU with at least 6 GB VRAM and a compatible CUDA-enabled PyTorch build |
| Network | Required to install Python packages | Not required for local image analysis after installation |
Training datasets are not required to run image analysis. GPU acceleration is optional; without a compatible NVIDIA GPU, the application automatically uses the CPU and processes images more slowly.
- Install 64-bit Python 3.12 and enable Add Python to PATH in the installer.
- Download or clone the complete repository.
- Double-click
install.bat. It creates.venvand installs all packages automatically. Run it only once, or again whenrequirements.txtchanges. - Add the inference files using the structure below.
- Double-click
start_app.batwhenever you want to start the application. Keep its console window open while the application is in use; closing it stops the local server.
checkpoints/
├── inaturalist/
│ └── resnet50_inaturalist_best.pt
└── bioscan/
├── bioscan_species_resnet50_best.pt
└── classes.json
The application normally opens http://localhost:8501 automatically. Other devices on the same local network can use http://COMPUTER_IP:8501 if Windows Firewall permits the connection.
Create a virtual environment, install requirements.txt, and run python -m streamlit run app.py. The BAT files are intended for Windows only.
The training datasets are not needed for inference. Only the three files listed above are required.
The application records the connection time and client IP address once per browser session in logs/access.log. Localhost connections are recorded as local. The log rotates automatically at 5 MB and retains up to three older files. IP addresses can be personal data, so disclose this logging to users and define an appropriate retention period before making the application publicly accessible.
app.py Streamlit interface
install.bat One-click Windows environment setup
start_app.bat One-click Windows application launcher
models/inaturalist/ Training configuration and entry points
models/bioscan/ BIOSCAN configuration, data loader, training and evaluation
src/ Model, data, inference, taxonomy, and Grad-CAM code
checkpoints/inaturalist/ Best and latest iNaturalist checkpoints
checkpoints/bioscan/ Best/latest BIOSCAN checkpoints and class mapping
results/inaturalist/ Training and evaluation outputs
tests/ Automated tests