Code Monkey home page Code Monkey logo

audasc's Introduction

AUDASC -- Adversarial Unsupervised Domain Adaptation for Acoustic Scene Classification

Welcome to the repository of the AUDASC method.

Full description of the method along with obtained results can be found at the corresponding paper. The paper is submitted to the Detection and Classification of Acoustic Scenes and Events workshop (DCASE) 2018.

Pre-trained weights together with extracted features and labels are at DOI

This project is implemented using PyTorch.

The ADDA method, which our method is based upon, can be found here.

How to set up AUDASC

Clone repository and setup project

To use the AUDASC code, you can clone this repository, setup the paths in the data_pre_processing/feature_params.yml file, and install the dependencies.

Then you can choose either to do the whole procedure again (i.e. extract the features from the audio files, pre-process the features, and apply the AUDASC method) or you can just use our pre-extracted features (located at DOI) and apply the AUDASC method.

Below you can find simple directions for any of the above steps. If there are any questions, please do not hesitate to communicate with us through the issues section of this repository.

Dependencies

If you are going to use the feature extraction part of this repository you need the following libraries:

librosa>=0.6.2
pysoundfile>=0.9.0
scikit-learn>=0.19.1
scipy>=1.1.0
numpy>=1.14.5
pandas>=0.23.4
yaml>=0.1.7

To run the core method, following is necessary:

torch>=0.4.0
yaml>=0.1.7
matplotlib>=2.2.2

Extract and pre-process features

  • To extract the features, you can use data_pre_processing/feature_extractor.py.
  • To prepare the features and labels as input to the model, you can use data_pre_processing/data_preprocessing.py

To change the setup of both files, you can use data_pre_processing/feature_params.yml

Training and test procedures

The setup of pre-training, adaptation, and test can be assigned and changed using scripts/learning_params.yml

Pre-training and adaptation

To train the model on source domain data and adapt the pre-trained model to target domain dataset, you need to run scripts/training.py

Test the adapted model

To test the adapted as well as non adapted model on source and target data, you simply need to run scripts/test.py

audasc's People

Contributors

dr-costas avatar shayangharib avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.