Deploying Neural Networks with GR-Wavelearner · Internet of Things. RF Ablation (Medical) Radio...
Transcript of Deploying Neural Networks with GR-Wavelearner · Internet of Things. RF Ablation (Medical) Radio...
24 October 2018
Outline
• Introduction to Deep Learning in RF•GR-Wavelearner•Application Example
24 October 2018
Deep Learning and Radio Frequency (RF) SystemsDeep Learning is Emerging
• Intrusion Detection• Threat classification• Facial recognition• Imagery analysis
• Tumor Detection• Medical data analysis• Diagnosis• Drug discovery
• Pedestrian / obstacle detection
• Navigation• Street sign reading• Speech recognition
• Image classification• Speech recognition• Language translation• Document / database
searching
Cyber Medicine Autonomy Internet
Deep learning technology enabled and accelerated by GPU processors - Has yet to impact design and applications in wireless and radio frequency systems
Gam
ma
X-Ray UV
Visi
ble
Infrared Radio Frequencies
1 pm
10 p
m
10 n
m
400
nm
700
nm
1 m
m
100
km
RadarSatellite
CommunicationsElectronic Warfare
Telecommunications
MilitaryCommunications
Navigation
UAV Wireless ControlWireless Networking
Internet of ThingsRF Ablation(Medical)
Radio Frequency Technology is Pervasive
Enabled by low-cost, highly capable general purpose graphics processing units (GPUs)
3
24 October 2018
• Spectrum monitoring (threats)• Intelligent spectrum usage• Electronic protection (anti-jam)• Cognitive system control
Spectrum / Network Centric Applications
• Advanced modulation techniques• Adaptive waveforms• Encryption and security
Device / BasestationCentric Applications
• Voice / image recognition• Multi-sensor fusion• Decision making and data reduction
User ApCentric Applications
Where to Use Deep Learning in RF Systems
4
Modulate1 0 1 1 0 0 1
User Aps
Transmit Frequency
Convert
User Aps
Receive Frequency
Convert
1 0 1 1 0 0 1Demodulate
24 October 2018
Inference at the Edge with GR-Wavelearner
5
Deploy Application
TensorRTOptimizer Runtime
Optimize Neural NetworkTrain Neural Network
24 October 2018
Outline
• Introduction to Deep Learning in RF•GR-Wavelearner•Application Example
24 October 2018
Deepwave’s Solution and Platform
7
Artificial Intelligence Radio Transceiver (AIR-T) GR-Wavelearner Software
7
AIR-T Hardware (2x2 MIMO)
Ubuntu Operating System
GNU Radio DSP Software
GR-Wavelearner
Neural Network
RF Signal In
RF Signal Out
Data I/O
Seamless Deployment of Deep Learning in RF Applications
The AIR-T arrives pre-installed with all software tools necessary for deployment
24 October 2018
Neural Network Deployment in Three Steps
• Step 1 – Train• Using TensorFlow, MATLAB, Keras, PyTorch, etc.
• Step 2 – Optimize• Using NVIDIA’s TensorRT
• Step 3 – Deploy • Using Deepwave’s GR-Wavelearner and GNU Radio
8
TrainedNeural
Network
TensorRTOptimizer
RuntimePLAN File
UntrainedNeural
Network
Training TrainedNeural
Network
RuntimePLAN File
WavelearnerSDK
SoftwareDefinedRadio
24 October 2018
GR-Wavelearner Software
9
• Goal is to help the open source community easily deploy deep learning within signal processing applications
• Well documented README with dependency installation instructions to get started quickly
• Ubuntu 16.04 recommended, Windows 10 supported• NVIDA Docker Container 18.08*
• Signal classifier example provided:• GNU Radio Flowgraph• Python source code• PLAN files that are executable on the AIR-T and Maxwell• Signal data file example for testing
• Support for TensorRT 5.0• Available at: deepwavedigital.com/wavelearner
https://docs.nvidia.com/deeplearning/sdk/tensorrt-container-release-notes/rel_18.08.html
24 October 2018
Outline
• Introduction to Deep Learning in RF•GR-Wavelearner•Application Example
24 October 2018
Deepwave Workflow Example
11
For complete details on this deep learning example, see the Deepwave talk at GTC 2018:Video: http://on-demand.gputechconf.com/gtcdc/2018/video/DC8103/video/video.mp4Slides: http://www.deepwavedigital.net/slides/GTC_Washington_DC_October_2018.pdf
24 October 2018
Step 1: Train Neural Network
• Workflow utilizes TensorRT for deployment• Allows for training on wide array of deep learning
frameworks
12
Train
Native support for TensorRT TensorRT Support Via ONNX**
24 October 2018
Step 1: Train Neural Network
13
Signal Feature Extraction Signal Classification
Max
Poo
l
Flat
ten
Baseband Signal In
Conv
olut
ion
QI
•••
QIQIQISignal Classification Out
Model Definition
24 October 2018
• 1000 training segments per SNR• 55 different SNR values
• Training on low SNR values increase detection sensitivity
• 100% accuracy not expected due to training at extremely low SNR values
• Softmax cross entropy• Adam Optimizer
14
Deep Learning Classifier Training
Step 1: Train Neural NetworkTraining Process
24 October 2018
Step 1: Train Neural Network
15
Prediction
Trut
h
SNR (dB)
Prob
. Of C
orre
ct C
lass
ifica
tion
Model Performance Testing
Confusion MatrixClassification Performance
24 October 2018
Step 2: Optimize Trained Neural Network
16
Optimize
• Optimize the trained neural network using NVIDIA’s TensorRT
• TensorRT produces a PLAN file that is a deployment optimized version of the neural network
24 October 2018
Step 2: Optimize Trained Neural Network
TensorFlow ExampleStep 1: Freeze graph (make variables constants)
Step 2: Convert DNN model to UFF File
Step 3: Convert UFF File to PLAN File
Caveats• Not all layers are supported,
but most common ones are• PLAN file must be created
on deployment architecture• Python conversion not
available on ARM (Jetson)• Limited transferability of
PLAN files
17
* Deep Neural Network
Optimizing a TensorFlow Graph
24 October 2018
Step 2: Optimize Trained Neural Network
Convert TensorFlow Graph to UFF Convert UFF to Optimized PLAN File
18
Optimizing a TensorFlow Graph
Example Python Code Provided Executable Binary Provided
24 October 2018
Step 3: Deploy Optimized Neural Network
19
Deploy
* Deep Neural Network
AIR-T Hardware Platform (2x2 MIMO)
Ubuntu Operating System
GNU Radio DSP Software
GR-Wavelearner
RF Signal In
RF Signal Out
Data I/O
PLAN File
24 October 2018
Step 3: Deploy Optimized Neural Network
20
Deploy
* Deep Neural Network
GNU Radio Companion GUI Python API(Real time DNN* RF system in 35 lines of code!)
24 October 2018
GNU Radio – Software Defined Radio (SDR) Framework
• Popular open source software defined radio (SDR) toolkit:
• RF Hardware optional• Can run full software simulations
• Python API• C++ under the hood
• Easily create DSP algorithms • Custom user blocks
• Primarily uses CPU• Advanced parallel instructions• Recent development: RFNoC for FPGA
processing• Deepwave is integrating GPU support
for both DSP and ML
21
24 October 2018
GR-Wavelearner
• Out of tree (OOT) module for GNU Radio
• Allows users to easily incorporate deep learning into signal processing
• C++ and Python API• Open source GPLv3 license• Two blocks currently:
• Inference – TensorRT wrapper for GNU Radio
• Terminal Sink – Python module for displaying classifier output
22
24 October 2018
Artificial Intelligence Radio Transceiver (AIR-T)
23
Adaptive Digital Wireless Transceiver
GPU for Edge computation of AI
*Patent Pending
FPGA for Real Time DSP