Entry for Bird Audio Detection Challenge
For more information about the challenge, see the project website or the paper that summarizes the challenge.
Important Links
Other Entries
Getting Started
This should be enough to get you training and evaluating code running:
Clone the repository:
git clone git@github.com:UkyVision/bird-audio-detection.git
- Create a branch for your work:
git checkout -b feature/{SHORT NAME OF FEATURE}
Install tensorflow:
- Install Miniconda.
- Create a virtual environment called
tensorflow
:conda create -n tensorflow python=2.7 ipython
. - Logout and log back in
- Start the virtual environment:
source activate tensorflow
- Install Tensorflow using the Anaconda provided
instructions. Short version: find
the correct setting for
TF_BINARY_URL
from the tensorflow website, then runpip install --ignore-installed --upgrade $TF_BINARY_URL
.
Prepare the datasets:
- You have to have
scikit-learn
library installed. If not, install by typingconda install scikit-learn
and follow instructions cd ./src/dataset
python download_and_extract.py
: note this might take a whilepython make_dataset.py
: splits dataset into 10 folds- Datasets will be downloaded to
../../data/
while the folds will be written to the current dataset directory
Run the training script:
cd ./src/
python main.py
: this will put checkpoints in the checkpoint directorypython evaluate.py
: this uses the checkpoints to generate an output script
Training multiple models:
cd ./src/driver
./driver.sh
: this uses GNU parallel to train multiple models. it is currently configured to work on a machine with two GPUs
soundNet to train traditional ML approaches:
Use features extracted fromIn this approach for Bird Audio Detection, we push the audio files
through soundNet and
extract the features at different layers. Then train different basic ML
approaches using scikit-learn package. The code to train linear_SVM in
./src/scikit
Contributing
If you are new to git and github, I encourage you to read this guide to contributing. Basically, read through the issues and/or talk to the team leaders to see what would be a useful contribution. Then, you can either:
- fork the repo (please keep it private for now), write your code, verify that it works, and submit a pull request into master when it is ready
- create a branch 'feature/*' and submit a pull request into master when you are ready
Team
- Nathan Jacobs (team lead)
- Weilian "William" Song
- Tawfiq Salem