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)