Xilinx / brevitas-radioml-challenge-21

Apache License 2.0
15 stars 7 forks source link

Sandbox: Lightning-Fast Modulation Classification with Hardware-Efficient Neural Networks

This repository provides a Docker-based environment to get started with the Lightning-Fast Modulation Classification with Hardware-Efficient Neural Networks problem statement of the ITU AI/ML in 5G Challenge. The sandbox environment includes PyTorch and Brevitas and serves a Jupyter notebook that guides you through definition, training, and evaluation of an exemplary quantized CNN model.

Prerequisites

The sandbox was tested on Ubuntu, but the containerized setup should work on most platforms.

Using the sandbox notebook

  1. Clone this repository
  2. Set optional environment variables
    • DATASET_DIR: This directory will be mounted inside the container at "/workspace/dataset", download instructions can be found inside the Jupyter notebook
    • DOCKER_GPUS: Select GPUs which will be accessible from within the container, for example all or device=0
    • JUPYTER_PORT: Override default port (8888)
    • NETRON_PORT: Override default port (8081)
    • JUPYTER_PASSWD_HASH: Override default password ("radioml")
    • LOCALHOST_URL: Set the IP/URL of the machine if you don't access it via localhost
  3. Run ./run_docker.sh inside sandbox/ to launch the Jupyter notebook server
    • Alternatively for experimenting: Run ./run_docker.sh bash to launch an interactive shell
  4. Connect to http://HOSTNAME:JUPYTER_PORT from a browser and login with password "radioml"

Getting help

Connect with the challenge organizers and other participants on GitHub discussion. For questions related to quantization-aware training with Brevitas, there is also a separate Gitter channel: Gitter