{"id":350938,"name":"AVEX","description":"An API for model loading and inference, and a Python-based system for training and evaluating bioacoustics representation learning models.","url":"https://github.com/earthspecies/avex","last_synced_at":"2026-04-22T01:30:15.420Z","repository":{"id":336062009,"uuid":"966552049","full_name":"earthspecies/avex","owner":"earthspecies","description":"Animal Vocalization Encoder Library","archived":false,"fork":false,"pushed_at":"2026-04-10T14:26:25.000Z","size":12116,"stargazers_count":30,"open_issues_count":17,"forks_count":2,"subscribers_count":5,"default_branch":"main","last_synced_at":"2026-04-10T16:23:14.048Z","etag":null,"topics":["audio","bioacoustics","representation-learning"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/earthspecies.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":"docs/supported_models.md","governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-04-15T05:18:50.000Z","updated_at":"2026-04-08T15:10:05.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/earthspecies/avex","commit_stats":null,"previous_names":["earthspecies/avex"],"tags_count":5,"template":false,"template_full_name":null,"purl":"pkg:github/earthspecies/avex","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/earthspecies%2Favex","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/earthspecies%2Favex/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/earthspecies%2Favex/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/earthspecies%2Favex/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/earthspecies","download_url":"https://codeload.github.com/earthspecies/avex/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/earthspecies%2Favex/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32072323,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-20T21:26:33.338Z","status":"ssl_error","status_checked_at":"2026-04-20T21:26:22.081Z","response_time":94,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"owner":{"login":"earthspecies","name":"Earth Species Project","uuid":"36208630","kind":"organization","description":"An open-source collaborative and nonprofit dedicated to decoding animal communication.","email":"humans@earthspecies.org","website":"https://earthspecies.org","location":null,"twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/36208630?v=4","repositories_count":25,"last_synced_at":"2024-05-14T00:09:51.904Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/earthspecies","funding_links":[],"total_stars":857,"followers":293,"following":0,"created_at":"2022-11-18T17:21:20.776Z","updated_at":"2024-05-14T00:09:55.188Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/earthspecies","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/earthspecies/repositories"},"packages":[{"id":13491075,"name":"avex","ecosystem":"pypi","description":"A comprehensive Python-based system for training, evaluating, and analyzing audio representation learning models with support for both supervised and self-supervised learning paradigms","homepage":"https://github.com/earthspecies/avex","licenses":"MIT","normalized_licenses":["MIT"],"repository_url":"https://github.com/earthspecies/avex","keywords_array":["audio","machine-learning","avex","self-supervised","bioacoustics"],"namespace":null,"versions_count":3,"first_release_published_at":"2026-02-02T08:27:22.000Z","latest_release_published_at":"2026-04-11T08:03:36.000Z","latest_release_number":"1.1.0","last_synced_at":"2026-04-18T22:45:57.018Z","created_at":"2026-02-10T18:05:05.168Z","updated_at":"2026-04-18T22:45:57.018Z","registry_url":"https://pypi.org/project/avex/","install_command":"pip install avex --index-url https://pypi.org/simple","documentation_url":"https://github.com/earthspecies/avex#readme","metadata":{"funding":null,"documentation":"https://github.com/earthspecies/avex#readme","classifiers":["Development Status :: 4 - Beta","Intended Audience :: Science/Research","License :: OSI Approved :: MIT License","Operating System :: OS Independent","Programming Language :: Python :: 3","Programming Language :: Python :: 3.10","Programming Language :: Python :: 3.11","Programming Language :: Python :: 3.12","Topic :: Multimedia :: Sound/Audio :: Analysis","Topic :: Scientific/Engineering :: Artificial Intelligence"],"normalized_name":"avex","project_status":null},"repo_metadata":{"id":336062009,"uuid":"966552049","full_name":"earthspecies/avex","owner":"earthspecies","description":"Animal Vocalization Encoder Library","archived":false,"fork":false,"pushed_at":"2026-02-12T11:48:42.000Z","size":9254,"stargazers_count":14,"open_issues_count":14,"forks_count":1,"subscribers_count":5,"default_branch":"main","last_synced_at":"2026-02-12T20:14:22.759Z","etag":null,"topics":["audio","bioacoustics","representation-learning"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/earthspecies.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":"docs/supported_models.md","governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-04-15T05:18:50.000Z","updated_at":"2026-02-11T13:49:01.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/earthspecies/avex","commit_stats":null,"previous_names":["earthspecies/avex"],"tags_count":5,"template":false,"template_full_name":null,"purl":"pkg:github/earthspecies/avex","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/earthspecies%2Favex","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/earthspecies%2Favex/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/earthspecies%2Favex/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/earthspecies%2Favex/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/earthspecies","download_url":"https://codeload.github.com/earthspecies/avex/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/earthspecies%2Favex/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29440470,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-14T07:24:13.446Z","status":"ssl_error","status_checked_at":"2026-02-14T07:23:58.969Z","response_time":53,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"repo_metadata_updated_at":"2026-04-18T22:45:56.901Z","dependent_packages_count":0,"downloads":674,"downloads_period":"last-month","dependent_repos_count":0,"rankings":{"downloads":null,"dependent_repos_count":44.50543141552442,"dependent_packages_count":7.87211410704349,"stargazers_count":null,"forks_count":null,"docker_downloads_count":null,"average":26.188772761283957},"purl":"pkg:pypi/avex","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/pypi/avex","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/pypi/avex","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/pypi/avex/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2026-02-02T11:06:31.869Z","issues_count":0,"pull_requests_count":0,"avg_time_to_close_issue":null,"avg_time_to_close_pull_request":null,"issues_closed_count":0,"pull_requests_closed_count":0,"pull_request_authors_count":0,"issue_authors_count":0,"avg_comments_per_issue":null,"avg_comments_per_pull_request":null,"merged_pull_requests_count":0,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":0,"past_year_pull_requests_count":0,"past_year_avg_time_to_close_issue":null,"past_year_avg_time_to_close_pull_request":null,"past_year_issues_closed_count":0,"past_year_pull_requests_closed_count":0,"past_year_pull_request_authors_count":0,"past_year_issue_authors_count":0,"past_year_avg_comments_per_issue":null,"past_year_avg_comments_per_pull_request":null,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":0,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/earthspecies%2Favex/issues","maintainers":[],"active_maintainers":[]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/avex/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/avex/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/avex/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/avex/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/avex/codemeta","maintainers":[{"uuid":"earthspecies","login":"earthspecies","name":null,"email":null,"url":null,"packages_count":1,"html_url":"https://pypi.org/user/earthspecies/","role":"Owner","created_at":"2026-02-14T08:34:17.668Z","updated_at":"2026-02-14T08:34:17.668Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/maintainers/earthspecies/packages"}],"registry":{"name":"pypi.org","url":"https://pypi.org","ecosystem":"pypi","default":true,"packages_count":845462,"maintainers_count":361337,"namespaces_count":0,"keywords_count":271316,"github":"pypi","metadata":{"funded_packages_count":53172},"icon_url":"https://github.com/pypi.png","created_at":"2022-04-04T15:19:23.364Z","updated_at":"2026-04-09T05:08:03.587Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/namespaces"}}],"commits":{"id":11626218,"full_name":"earthspecies/avex","default_branch":"master","total_commits":147,"total_committers":6,"total_bot_commits":0,"total_bot_committers":0,"mean_commits":24.5,"dds":0.47619047619047616,"past_year_total_commits":147,"past_year_total_committers":6,"past_year_total_bot_commits":0,"past_year_total_bot_committers":0,"past_year_mean_commits":24.5,"past_year_dds":0.47619047619047616,"last_synced_at":"2026-04-07T07:15:00.015Z","last_synced_commit":"9134c43b84b8bfbf93232e0925438d55bcd9f529","created_at":"2026-02-14T08:34:17.130Z","updated_at":"2026-04-07T07:14:58.112Z","committers":[{"name":"Marius Miron","email":"miron.marius@gmail.com","login":"nkundiushuti","count":77},{"name":"David","email":"david@earthspecies.org","login":"david-rx","count":38},{"name":"Milad Alizadeh","email":"git@mil.ad","login":"mil-ad","count":26},{"name":"Gagan Narula","email":"gagan@earthspecies.org","login":"GaganNarula","count":4},{"name":"Benjamin Hoffman","email":"72874445+benjaminsshoffman","login":"benjaminsshoffman","count":1},{"name":"CheekySparrow","email":"cheeky@sparrow.com","login":null,"count":1}],"past_year_committers":[{"name":"Marius Miron","email":"miron.marius@gmail.com","login":"nkundiushuti","count":77},{"name":"David","email":"david@earthspecies.org","login":"david-rx","count":38},{"name":"Milad Alizadeh","email":"git@mil.ad","login":"mil-ad","count":26},{"name":"Gagan Narula","email":"gagan@earthspecies.org","login":"GaganNarula","count":4},{"name":"Benjamin Hoffman","email":"72874445+benjaminsshoffman","login":"benjaminsshoffman","count":1},{"name":"CheekySparrow","email":"cheeky@sparrow.com","login":null,"count":1}],"commits_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub/repositories/earthspecies%2Favex/commits","host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2026-04-21T00:00:07.949Z","repositories_count":6215147,"commits_count":899382104,"contributors_count":34905615,"owners_count":1143719,"icon_url":"https://github.com/github.png","host_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub/repositories"}},"issues_stats":{"full_name":"earthspecies/avex","html_url":"https://github.com/earthspecies/avex","last_synced_at":"2026-04-19T08:28:22.648Z","status":null,"issues_count":2,"pull_requests_count":10,"avg_time_to_close_issue":103882.0,"avg_time_to_close_pull_request":88308.66666666667,"issues_closed_count":1,"pull_requests_closed_count":3,"pull_request_authors_count":3,"issue_authors_count":2,"avg_comments_per_issue":2.5,"avg_comments_per_pull_request":0.0,"merged_pull_requests_count":3,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":2,"past_year_pull_requests_count":10,"past_year_avg_time_to_close_issue":103882.0,"past_year_avg_time_to_close_pull_request":88308.66666666667,"past_year_issues_closed_count":1,"past_year_pull_requests_closed_count":3,"past_year_pull_request_authors_count":3,"past_year_issue_authors_count":2,"past_year_avg_comments_per_issue":2.5,"past_year_avg_comments_per_pull_request":0.0,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":3,"created_at":"2026-02-02T11:00:09.377Z","updated_at":"2026-04-19T08:28:22.649Z","repository_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/earthspecies%2Favex","issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/earthspecies%2Favex/issues","issue_labels_count":{},"pull_request_labels_count":{},"issue_author_associations_count":{"NONE":2},"pull_request_author_associations_count":{"CONTRIBUTOR":8,"COLLABORATOR":2},"issue_authors":{"ilyassmoummad":1,"sodaJar":1},"pull_request_authors":{"nkundiushuti":7,"david-rx":2,"mil-ad":1},"host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2026-04-21T00:00:07.919Z","repositories_count":14341801,"issues_count":34438576,"pull_requests_count":112730557,"authors_count":11241209,"icon_url":"https://github.com/github.png","host_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories","owners_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/owners","authors_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors"},"past_year_issue_labels_count":{},"past_year_pull_request_labels_count":{},"past_year_issue_author_associations_count":{"NONE":2},"past_year_pull_request_author_associations_count":{"CONTRIBUTOR":8,"COLLABORATOR":2},"past_year_issue_authors":{"ilyassmoummad":1,"sodaJar":1},"past_year_pull_request_authors":{"nkundiushuti":7,"david-rx":2,"mil-ad":1},"maintainers":[{"login":"david-rx","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/david-rx"}],"active_maintainers":[{"login":"david-rx","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/david-rx"}]},"events":{"total":{"DeleteEvent":2,"MemberEvent":1,"PullRequestEvent":3,"IssuesEvent":4,"WatchEvent":4,"PushEvent":23,"PullRequestReviewCommentEvent":3,"PullRequestReviewEvent":6,"CreateEvent":10},"last_year":{"DeleteEvent":2,"MemberEvent":1,"PullRequestEvent":3,"IssuesEvent":4,"WatchEvent":4,"PushEvent":23,"PullRequestReviewCommentEvent":3,"PullRequestReviewEvent":6,"CreateEvent":10}},"keywords":["audio","bioacoustics","representation-learning"],"dependencies":[],"score":12.156619761810644,"created_at":"2026-04-07T07:14:53.164Z","updated_at":"2026-04-22T01:30:15.438Z","avatar_url":"https://github.com/earthspecies.png","language":"Python","category":"Biosphere","sub_category":"Bioacoustics and Acoustic Data Analysis","monthly_downloads":674,"total_dependent_repos":0,"total_dependent_packages":0,"readme":"# AVEX - Animal Vocalization Encoder Library\n\n[![arXiv](https://img.shields.io/badge/arXiv-2508.11845-b31b1b.svg)](https://arxiv.org/abs/2508.11845)\n[![PyPI](https://img.shields.io/pypi/v/avex.svg)](https://pypi.org/project/avex/)\n[![Hugging Face](https://img.shields.io/badge/%F0%9F%A4%97%20Hugging%20Face-Collection-yellow)](https://huggingface.co/collections/EarthSpeciesProject/esp-aves2)\n![CI status](https://github.com/earthspecies/avex/actions/workflows/pythonapp.yml/badge.svg?branch=main)\n![Pre-commit status](https://github.com/earthspecies/avex/actions/workflows/pre-commit.yml/badge.svg?branch=main)\n\nAn API for model loading and inference, and a Python-based system for training and evaluating bioacoustics representation learning models.\n\n## Description\n\nThe Animal Vocalization Encoder library AVEX provides a unified interface for working with pre-trained bioacoustics representation learning models, with support for:\n\n- **Model Loading**: Load pre-trained models with checkpoints and class mappings\n- **Embedding Extraction**: Extract features from audio for downstream tasks\n- **Probe System**: Flexible probe heads (linear, MLP, LSTM, attention, transformer) for transfer learning\n- **Training \u0026 Evaluation**: Scripts for supervised learning experiments\n- **Plugin Architecture**: Register and use custom models seamlessly\n\n## Installation\n\n### Prerequisites\n\n- Python 3.10, 3.11, or 3.12\n\n### Install with pip\n\n```bash\npip install avex\n```\n\n### Install with uv\n\n```bash\nuv add avex\n```\n\nFor development installation with training/evaluation tools, see the [Contributing guide](CONTRIBUTING.md).\n\n## Quick Start\n\n```python\nimport torch\nimport librosa\nfrom avex import load_model, list_models\n\n# List available models\nprint(list_models().keys())\n\n# Load a pre-trained model\nmodel = load_model(\"esp_aves2_sl_beats_all\", device=\"cpu\")\n\n# Load and preprocess audio (BEATs expects 16kHz)\naudio, sr = librosa.load(\"your_audio.wav\", sr=16000)\naudio_tensor = torch.tensor(audio).unsqueeze(0)  # Shape: (1, num_samples)\n\n# Run inference\nwith torch.no_grad():\n    logits = model(audio_tensor)\n    predicted_class = logits.argmax(dim=-1).item()\n\n# Get human-readable label\nif model.label_mapping:\n    label = model.label_mapping.get(str(predicted_class), predicted_class)\n    print(f\"Predicted: {label}\")\n```\n\n### Embedding Extraction\n\n```python\n# Load for embedding extraction (no classifier head)\nmodel = load_model(\"esp_aves2_sl_beats_all\", return_features_only=True, device=\"cpu\")\n\nwith torch.no_grad():\n    embeddings = model(audio_tensor)\n    # Shape: (batch, time_steps, 768) for BEATs\n\n# Pool to get fixed-size embedding\nembedding = embeddings.mean(dim=1)  # Shape: (batch, 768)\n```\n\n### Transfer Learning with Probes\n\n```python\nfrom avex.models.probes import build_probe_from_config\nfrom avex.configs import ProbeConfig\n\n# Load backbone for feature extraction\nbase = load_model(\"esp_aves2_sl_beats_all\", return_features_only=True, device=\"cpu\")\n\n# Define a probe head for your task\nprobe_config = ProbeConfig(\n    probe_type=\"linear\",\n    target_layers=[\"last_layer\"],\n    aggregation=\"mean\",\n    freeze_backbone=True,\n    online_training=True,\n)\n\nprobe = build_probe_from_config(\n    probe_config=probe_config,\n    base_model=base,\n    num_classes=10,  # Your number of classes\n    device=\"cpu\",\n)\n```\n\n## Documentation\n\n**Full documentation**: [docs/index.md](docs/index.md)\n\n### Core Documentation\n\n- **[API Reference](docs/api_reference.md)** - Complete API documentation for model loading, registry, and management functions\n- **[Architecture](docs/api_architecture.md)** - Framework architecture, core components, and plugin system\n- **[Supported Models](docs/supported_models.md)** - List of supported models and their configurations\n- **[Configuration](docs/configuration.md)** - ModelSpec parameters, audio requirements, and configuration options\n\n### Usage Guides\n\n- **[Training and Evaluation](docs/training_evaluation.md)** - Guide to training and evaluating models\n- **[Embedding Extraction](docs/embedding_extraction.md)** - Working with feature representations and embeddings\n- **[Examples](docs/examples.md)** - Comprehensive examples and use cases\n\n### Advanced Topics\n\n- **[Probe System](docs/probe_system.md)** - Understanding and using probes for transfer learning\n- **[API Probes](docs/api_probes.md)** - API reference for probe-related functionality\n- **[Custom Model Registration](docs/custom_model_registration.md)** - Guide on registering custom model classes and loading pre-trained models\n\n**Examples**: See the [`examples/`](examples/) directory:\n\n- `00_quick_start.py` - Basic model loading\n- `01_basic_model_loading.py` - Loading models with different configurations\n- `02_checkpoint_loading.py` - Working with checkpoints\n- `03_custom_model_registration.py` - Custom model registration\n- `04_training_and_evaluation.py` - Training and evaluation examples\n- `05_embedding_extraction.py` - Feature extraction\n- `06_classifier_head_loading.py` - Classifier head behavior\n\n## Supported Models\n\nThe framework supports the following audio representation learning models:\n\n- **EfficientNet** - EfficientNet-based models for audio classification\n- **BEATs** - BEATs transformer models for audio representation learning\n- **EAT** - Efficient Audio Transformer models\n- **AVES** - AVES model for bioacoustics\n- **BirdMAE** - BirdMAE masked autoencoder for bioacoustic representation learning\n- **ATST** - Audio Spectrogram Transformer\n- **ResNet** - ResNet models (ResNet18, ResNet50, ResNet152)\n- **CLIP** - Contrastive Language-Audio Pretraining models\n- **BirdNet** - BirdNet models for bioacoustic classification - external tensorflow model, some features might not be available\n- **Perch** - Perch models for bioacoustics - external tensorflow model, some features might not be available\n- **SurfPerch** - SurfPerch models - external tensorflow model, some features might not be available\n\nSee [Supported Models](docs/supported_models.md) for detailed information and configuration examples.\n\n## Supported Probes\n\nThe framework provides flexible probe heads for transfer learning:\n\n- **Linear** - Simple linear classifier (fastest, most memory-efficient)\n- **MLP** - Multi-layer perceptron with configurable hidden layers\n- **LSTM** - Long Short-Term Memory network for sequence modeling\n- **Attention** - Self-attention mechanism for sequence modeling\n- **Transformer** - Full transformer encoder architecture\n\nProbes can be trained:\n- **Online**: End-to-end with the backbone (raw audio input)\n- **Offline**: On pre-computed embeddings\n\nSee [Probe System](docs/probe_system.md) and [API Probes](docs/api_probes.md) for detailed documentation.\n\n## Citing\n\nIf you use this framework in your research, please cite:\n\n```bibtex\n@inproceedings{miron2025matters,\n  title={What Matters for Bioacoustic Encoding},\n  author={Miron, Marius and Robinson, David and Alizadeh, Milad and Gilsenan-McMahon, Ellen and Narula, Gagan and Chemla, Emmanuel and Cusimano, Maddie and Effenberger, Felix and Hagiwara, Masato and Hoffman, Benjamin and Keen, Sara and Kim, Diane and Lawton, Jane K. and Liu, Jen-Yu and Raskin, Aza and Pietquin, Olivier and Geist, Matthieu},\n  booktitle={The Fourteen International Conference on Learning Representations},\n  year={2026}\n}\n```\n\nRelated ESP papers:\n\n```bibtex\n@inproceedings{miron2026probing,\n  title={Multi-layer attentive probing improves transfer of audio representations for bioacoustics},\n  author={Miron, Marius and Robinson, David and Hagiwara, Masato and Titouan, Parcollet and Cauzinille, Jules and and Narula, Gagan and Alizadeh, Milad and Gilsenan-McMahon, Ellen and Keen, Sara and Chemla, Emmanuel and Hoffman, Benjamin and Cusimano, Maddie and Kim, Diane and Effenberger, Felix and Lawton, Jane K. and Raskin, Aza and Pietquin, Olivier and Geist, Matthieu},\n  booktitle={ICASSP 2026-2026 IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP)},\n  pages={1--5},\n  year={2026},\n  organization={IEEE}\n}\n@inproceedings{hagiwara2023aves,\n  title={Aves: Animal vocalization encoder based on self-supervision},\n  author={Hagiwara, Masato},\n  booktitle={ICASSP 2023-2023 IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP)},\n  pages={1--5},\n  year={2023},\n  organization={IEEE}\n}\n```\n\n## Contributing\n\nWe welcome contributions! Please see [CONTRIBUTING.md](CONTRIBUTING.md) for:\n\n## License\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.\n\n## Acknowledgments\n\n- Built on top of PyTorch\n- ICLR2026 and ICASSP2026 reviewers for the feedback\n- Titouan Parcollet for templating, engineering feedback\n- Bioacoustics community (IBAC, BioDCASE, ABS)\n","funding_links":[],"readme_doi_urls":[],"works":{},"citation_counts":{},"total_citations":0,"keywords_from_contributors":[],"project_url":"https://ost.ecosyste.ms/api/v1/projects/350938","html_url":"https://ost.ecosyste.ms/projects/350938"}