A collection of Jupyter notebooks with examples of usage of the cesnet-datazoo and cesnet-models packages.
๐ธ CESNET DataZoo
๐ง CESNET Modelsย ย ย
The following notebooks are available:
explore_data.ipynb- Simple initialization of a dataset class to explore available features.example_evaluation.ipynb- Training of a LightGBM classifier and its evaluation on a per-week and per-day basis.reproduce_tls.ipynb- Use a pre-trained model from thecesnet-modelspackage to reproduce the results of the "Fine-grained TLS services classification with reject option" paper.reproduce_quic.ipynb- Use a pre-trained model from thecesnet-modelspackage to reproduce the results of the "Encrypted traffic classification: the QUIC case" paper.example_train_nn.ipynb- Training of a neural network from scratch. Thecesnet-datazoopackage provides a dataset, which is split into the train, validation, and test sets. Thecesnet-modelspackage provides the neural network architecture and data transformations.month_evaluation_cesnet_tls_year22.ipynb- Training and per-month evaluation of a LightGBM model using the CESNET-TLS-Year22 dataset.
๐ ๐ See Transfer Learning Codebase for a more advanced use of both packages โ cesnet-datazoo provides access to downstream datasets and cesnet-models provides model architectures and pretrained weights. Together, they are used to reproduce transfer learning experiments across ten downstream traffic classification tasks with three transfer approaches (k-NN, linear probing, and full model fine-tuning). ๐ ๐
The dependencies are installed in the first cell of each notebook. Alternatively, the requirements.txt file is also provided. PyTorch with CUDA 11.8 support should be installed with the following command (more info here):
python -m pip install torch>=1.10 --index-url https://download.pytorch.org/whl/cu124