☰Read-only archive⌕
Looking for help with Bokeh?

This is a read-only archive. Ask questions and join the conversation on GitHub.

Visit Community Support on GitHub →
Archived discussions · Captured October 28, 2026

Radio Spectrum Demo with live streaming data and machine learning model retraining + data size controls

Showcase
triskadecaepyon
triskadecaepyon

Repo: GitHub - triskadecaepyon/radio_predict_demo: A demo showcasing the live analysis of radio signals with the SciPy stack and Machine Learning

An example of handling live radio spectrum data to run into a constantly running ML model (retrains every two seconds). Was used to demonstrate the optimizations of Intel’s Scikit-learn accelerator called daal4py as well as some of their NumPy and SciPy optimizations.

The idea came from my hobby of Amateur Radio (Ham radio) where I have to sift through lots of signal data to determine the morse signals that are available. This is a precursor project to the framework I’m building to help connect some of those workflows in the Ham radio world to the Python community.

Details:

  • Built as a Bokeh server application, with periodic callbacks handling the 1) spectrum data generation or live data 2) Scikit-learn calls to train with the new data available and 3) Look for changes to the interactive slider UI which changes the moving window or memory size of the radio data to put into scikit-learn.

  • Plots for the ML training time in a stacked horizontal graph, the FFT of the data, and the original signal waveform. It is heavily downsampled to save on Javascript rendering behavior. The graph below aligning call signs is still just a random placeholder until the morse code detector is implemented

  • Sliders to change model parameters. For now it is only the window size (array size/memory) that works.

It should also be noted that all the calls for ML and signal processing are blocking, so increasing the training size can slow down the demo dramatically. I’m trying to find a good way to make it non-blocking but it will take some time to figure out how it can be done cleanly.

⌁   Link to post
carolyn
carolyn

Yes! I put two and two together a few minutes after posting that, hah!

I think I’ll still send out a tweet about the description-enhanced Showcase post-- it’s very inspiring. Thanks so much!

⌁   Link to post

End of archived discussion · Replies are disabled