Skip to content

Implementing the Wave-U-Net architecture in pytorch introduced in https://arxiv.org/abs/1806.03185 for the CSE382M "Foundations of Data Science" final project.

License

Notifications You must be signed in to change notification settings

Potatoasad/Wave-U-Net-final-project

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Wave U Net architecture for music source seperation | CSE 382M final project

Provided here is code implementing the Wave-U-Net architecture in pytorch for the purposes of music source seperation using the MUSDB dataset. The architecture was introduced in https://arxiv.org/abs/1806.03185 for the same purpose using the same dataset, and we differ in our setup from the authors only in some minor differences in training techniques and loss functions and more (as we experiment).

It is a work in progress and we will be using this repository to run tests and report results.

This code has been implemented for the CSE382M "Foundations of Data Science" final project. There is a more thorough version of this architecture at https://github.com/f90/Wave-U-Net-Pytorch which is coded in a more modular and useful fashion and the only thing that this repository really may do better is that it runs on the MPS backend (Mac M1 GPU) out the box.

Usage

This repository gives everyone a:

  1. A self contained environment in which you can run notebooks
  2. Allows you to work on a package inside the \scripts folder, where you can save functions/classes you want to use inside the jupyter notebook (this keeps your notebook relatively clean and free of a cascade of initial function defintions)

Here are the steps needed to use this notebook:

Initial Install

First add whatever packages you will need inside the requirements.txt

Then:

make install  #installs everything and creates the environment

You only need to do this once (or whenever you add another package to requirements.txt)

Running the notebook

Once installed, you can simply run:

./jupyter lab # launches jupyter lab in that environment, you could do ./jupyter notebook too

Then in the jupyter notebook you can do whatever you want.

Saving useful functions and classes

Add any classes or functions to the /scripts folder as you would in a package. Then in the notebook you can do:

from scripts import *

and all the functions and classes will be available to you inside the notebook. This keeps your notebook relatively clean and free of a cascade of initial function defintions.

Simply restart the notebook kernel and any changes you have made to /scripts will be updated.

About

Implementing the Wave-U-Net architecture in pytorch introduced in https://arxiv.org/abs/1806.03185 for the CSE382M "Foundations of Data Science" final project.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published