Skip to content

[FEATURE]: Integrate UrbanSoundDataset for Audio Trainspace #1156

@codingwithsurya

Description

@codingwithsurya

Feature Name

As part of our initiative to extend the Deep Learning Playground's capabilities to include audio data processing, we need to integrate the UrbanSoundDataset into our system.

Your Name

Surya Subramanian

Description

Description

This task involves enhancing the training/core/dataset.py module to support audio data, specifically focusing on the UrbanSound8K dataset. The goal is to create a seamless pipeline for data ingestion, preprocessing, and loading, tailored for audio files.

Objectives

Take inspiration from the other classes in dataset.py and develop dataCreator, train_loader, and test_loader methods to facilitate the loading of preprocessed audio data into the model for training and testing. Ensure that data loading is efficient and integrates well with PyTorch's DataLoader mechanism. Essentially, the code in this class will be used to create train and test datasets.

Implementation Details

Your best bet is to take inspiration from ImageDefaultDatasetCreator and "recreate" that but for the UrbanSoundDataset. It should be seamless for us to call the createTrainDataset() and createTestDataset() methods from other files (like how it is being used called in training/training/routes/image/image.py.

So in summary,

  • The UrbanSoundDataset class should be added to training/core/dataset.py, encapsulating all functionalities related to the UrbanSound8K dataset.
  • Ensure that the dataset loader is compatible with our existing training pipeline, allowing for smooth integration with models and training routines.
  • UPDATE: schemas.py will be handled here. Here's a high level overview of what we are thinking:
# no layer params

# hardcode non tunable params in

# class AudioParams(Schema):
#     name: str
#     problem_type: Literal["CLASSIFICATION"]
#     default: Urban Sound Dataset
#     criterion: negative log likelihood loss
#     optimizer_name: Adam 
#     shuffle: bool
#     epochs: int
#     test_size: float
#     batch_size: int
#     user_arch: arch we are using 

Feel free to play around with this!

Metadata

Metadata

Labels

enhancementNew feature or request

Type

No type

Projects

Status

Backlog

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions