For more information about the challenge, see the project website or the paper that summarizes the challenge.
This should be enough to get you training and evaluating code running:
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 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
.
- 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
cd ./src/
python main.py
: this will put checkpoints in the checkpoint directorypython evaluate.py
: this uses the checkpoints to generate an output script
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
Use features extracted from soundNet to train traditional ML approaches:
In 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
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
- Nathan Jacobs (team lead)
- Weilian "William" Song
- Tawfiq Salem