Skip to content

Commit 89f3956

Browse files
committed
Update README.md
1 parent d6d1277 commit 89f3956

File tree

1 file changed

+14
-25
lines changed

1 file changed

+14
-25
lines changed

README.md

+14-25
Original file line numberDiff line numberDiff line change
@@ -4,13 +4,6 @@ This project uses hls4ml to create the firmware implementation of machine learni
44

55
## Setup
66

7-
Dependencies
8-
9-
* Python==3.8
10-
* keras==2.11.0
11-
* qkeras==0.9.0
12-
* hls4ml==0.8.1
13-
147
Clone repository
158

169
```bash
@@ -26,45 +19,41 @@ conda activate ml4qick-env
2619

2720
## Data
2821

29-
Single and mult-qubit data can be found [here](https://urldefense.proofpoint.com/v2/url?u=https-3A__purdue0-2Dmy.sharepoint.com_-3Af-3A_g_personal_oyesilyu-5Fpurdue-5Fedu_EuhbLM-2DwFApNiX9Mh5ZMeIEBG3dGqSIPgwN21j5S30nxvQ-3Fe-3DCDc3Xi&d=DwMFAg&c=gRgGjJ3BkIsb5y6s49QqsA&r=3tXuppM5Ux2UBnxU0DCrdSagIS9IpvGOlIFtsYfyWuc&m=5R-PzD5Udxkr2BBA9AYXREVhYselyKDYk_-1g6QMka_dPV3VTCVJe4id5PFOgpLq&s=fUu9yFLybrPN_AYcDhfBiQoXf5RlOAwbo6DmsD3CiqU&e=).
22+
Single qubit data can be found [here](https://purdue0-my.sharepoint.com/personal/du245_purdue_edu/_layouts/15/onedrive.aspx?id=%2Fpersonal%2Fdu245%5Fpurdue%5Fedu%2FDocuments%2FShared%2FQSC%20ML%20for%20readout%2FFinal%5Fraw%5Fdata%5Ffor%5Fpaper%2Fdata%5F0528%5Fnpy).
23+
Previous versions exist, which can be found in [data dir](data/README.md).
3024

31-
## Training
25+
## Training & Notebooks
3226

33-
A Multi-Layer Perceptron (MLP) is used for qubit readout. A 'baseline' model is established, then is compressed via architecture design and quantization.
34-
Quantization-aware training (QAT) is performed in [HAWQ](https://github.com/Zhen-Dong/HAWQ) and [Qkeras](https://github.com/google/qkeras).
27+
Several notebooks for training exist, the simpliest are the 'workflow*.ipynb' notebooks. These notebooks start with training in (Q)Keras down to hls4ml IP generation. The scanning notebooks are useful for design space exploration, comparing traditional methods (match filtering and thresholding) with NNs of varying sizes.
3528

3629
### Model Summary
3730

3831
```text
32+
Model: "sequential"
3933
_________________________________________________________________
4034
Layer (type) Output Shape Param #
4135
=================================================================
42-
fc1 (Dense) (None, 250) 500250
43-
44-
relu1 (Activation) (None, 250) 0
45-
46-
batch_normalization_14 (Bat (None, 250) 1000
47-
chNormalization)
36+
fc1 (QDense) (None, 14) 11214
4837
49-
fc2 (Dense) (None, 2) 502
38+
batchnorm1 (QBatchNormaliza (None, 14) 56
39+
tion)
5040
51-
relu2 (Activation) (None, 2) 0
41+
fc2 (QDense) (None, 2) 30
5242
5343
=================================================================
54-
Total params: 501,752
55-
Trainable params: 501,252
56-
Non-trainable params: 500
57-
_________________________________________________________________
44+
Total params: 11,300
45+
Trainable params: 11,272
46+
Non-trainable params: 28
5847
```
5948

6049
## Inference and Synthesis
6150

6251
The target device for the QICK system is the Zynq UltraScale+ [RFSoC ZCU216](https://www.xilinx.com/products/boards-and-kits/zcu216.html) Evaluation Kit. We use Vivado 2020.1 for all synthesis results.
63-
52+
<!--
6453
```bash
6554
cd inference
6655
python convert.py -c <framework>/<config>.yml
67-
```
56+
``` -->
6857

6958
## Useful Links
7059

0 commit comments

Comments
 (0)