TorchSig

A PyTorch Signal Processing Machine Learning Toolkit


...

Key Features

TorchSig is an open-source signal processing machine learning toolkit based on the PyTorch data handling pipeline. Some of the key features include: signals datasets, domain transforms, pretrained models, and open-source code and documentation for community research and development.

Signals Datasets

TorchSig can generate and easily interface with the Sig53 dataset, an augmentable dataset representing 53 digital modulations commonly used in radio frequency communication signals, useful for signal classification research. TorchSig can also generate and interface with the WidebandSig53 dataset, a wideband extension to Sig53, containing multiple signals in each data example, useful for signal detection and recognition research. TorchSig can be used as a standard in the open source community working with signals datasets.

Domain Transforms

Numerous complex signal augmentations, impairments, and expert feature transforms are provided and can be seamlessly customized and further developed.

Pretrained Models

TorchSig's API mirrors familiar libraries such as TorchVision and TorchAudio, providing the first ever toolkit that shares state of the art convolutional and transformer neural network models pretrained on complex-valued signals datasets.

Research & Development

Open-source code, datasets, and documentation enable community engagement for further advancing research and development in the field of signal processing machine learning.

Why TorchSig?

TorchSig allows you to easily and quickly customize any part of your signal processing pipeline ranging from the data management up to the downstream task metric. No existing signals toolkit provides such a level of accessibility.

Easy to Install

Simply clone and pip install!


git clone https://github.com/torchdsp/torchsig.git
cd torchsig
pip install -r requirements.txt
pip install --editable .
                                

Easy to Use

Dataset, model, and transform APIs follow familiar TorchVision and TorchAudio coding structure.


from torchsig.datasets import Sig53
sig53_dataset = Sig53()

from torchsig.models import efficientnet_b0
model = efficientnet_b0()

import torchsig.transforms as ST
transforms = ST.AddNoise(noise_power_db=10)
                                

Sponsors

TorchSig is funded and/or developed by the Laboratory for Telecommunication Sciences and Peraton Labs.