sander-wood's picture
Upload 32 files
3c428bc verified
|
raw
history blame
2.04 kB

Music Classification Codebase

Overview

Linear Probe is a powerful classification tool that leverages feature representations for supervised learning tasks. This codebase includes scripts for training a linear classification model, performing classification on new feature data. The features utilized can be extracted from the M3 or CLaMP 2 models, ensuring that the time dimension information is preserved and not normalized. Below is a description of the scripts contained in the music_classification/ folder.

Repository Structure

The music_classification/ folder contains the following scripts:

1. config.py

This script defines configurations for the linear probe training and inference, specifying training data paths and parameters like learning rate, number of epochs, and hidden size.

2. inference_cls.py

This script enables the classification of feature vectors using a pre-trained linear probe model.

JSON Output Format

The resulting JSON file contains a dictionary with the following structure:

{
    "path/to/feature1.npy": "class_A",
    "path/to/feature2.npy": "class_B",
    "path/to/feature3.npy": "class_A"
}
  • Key: The path to the input feature file (e.g., feature1.npy).
  • Value: The predicted class label assigned by the linear probe model (e.g., class_A).

Usage

python inference_cls.py <feature_folder> <output_file>
  • feature_folder: Directory containing input feature files (in .npy format).
  • output_file: File path to save the classification results (in JSON format).

3. train_cls.py

This script is designed for training the linear classification model.

Usage

python train_cls.py

4. utils.py

The utility script defines the architecture of the linear classification model.

Naming Convention

All .npy files used in this codebase must follow the naming convention of label_filename.npy, where the filename should not contain any underscores (_).