Project file structure and component overview
mainThe repository is organized as follows:
configs/config_*.yaml: Configuration files for model hyperparameters and training settings.models/*: Implementation of available models for training and inference.train.py: Main entry point for single-GPU training.train_ddp.py: Entry point for Multi-GPU training (Distributed Data Parallel). Use this for 2 or more GPUs for faster training.inference.py: Script to process a folder of music files for source separation.dataset.py: Logic for creating training samples.valid.py: Validation logic and metric calculation.utils.py: Common utility functions.ensemble.py: Script to combine results from different models to improve separation quality.gui-wx.py: Graphical user interface for the code.