Skip to main content

A ML/DL framework for Traffic Classification

Project description

An ML/DL framework for Traffic Classification (TC)

domain Documentation

tcbench design is cored in the following objectives:

  • Easing ML/DL models training/testing results replicability.
  • Tight integration with public TC datasets with ease data installation and curation,
  • Model tracking via AIM.
  • Rich command line for executing modeling campaings and collecting performance reports.

Motivations

The academic literature is ripe with methods and proposals for TC. Yet, it is scarce of code artifacts and public datasets do not offer common conventions of use.

We designed tcbench with the following goals in mind:

Goal State of the art tcbench
:octicons-stack-24: Data curation There are a few public datasets for TC, yet no common format/schema, cleaning process, or standard train/val/test folds. An (opinionated) curation of datasets to create easy to use parquet files with associated train/val/test fold.
:octicons-file-code-24: Code TC literature has no reference code base for ML/DL modeling tcbench is :material-github: open source with an easy to use CLI based on :fontawesome-solid-arrow-pointer: click
:material-monitor-dashboard: Model tracking Most of ML framework requires integration with cloud environments and subscription services tcbench uses aimstack to save on local servers metrics during training which can be later explored via its web UI or aggregated in report summaries using tcbench

Install

Create a conda environment

conda create -n tcbench python=3.10 pip
conda activate tcbench
python -m pip install tcbench

For the development version

python -m pip isntall tcbench[dev]

Features and roadmap

tcbench is still under development, but (as suggested by its name) ultimately aims to be a reference framework for benchmarking multiple ML/DL solutions related to TC.

At the current stage, tcbench offers

  • Integration with 4 datasets, namely ucdavis-icdm19, mirage19, mirage22 and utmobilenet21. You can use these datasets and their curated version independently from tcbench. Check out the dataset install process and dataset loading tutorial.

  • Good support for flowpic input representation.

  • Initial support for for 1d packet time series (based on network packets properties) input representation.

  • Data augmentation functionality for flowpic input representation.

  • Modeling via XGBoost, vanilla DL supervision and contrastive learning (via SimCLR or SupCon).

More exiting features including more datasets and algorithms will come in the next months.

Stay tuned ;)!

Papers

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

tcbench-0.0.20.tar.gz (94.4 kB view hashes)

Uploaded Source

Built Distribution

tcbench-0.0.20-py3-none-any.whl (113.4 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page