Skip to content

Commit cbba9f8

Browse files
authored
Update Citation and Bump Version (#207)
* Update Citation and Bump Version * Improve README * Add RNNPool Camera Ready
1 parent ce9ea3f commit cbba9f8

File tree

3 files changed

+19
-9
lines changed

3 files changed

+19
-9
lines changed

README.md

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ Algorithms that shine in this setting in terms of both model size and compute, n
1818
- **Shallow RNN**: A meta-architecture for training RNNs that can be applied to streaming data.
1919
- **FastRNN & FastGRNN - FastCells**: **F**ast, **A**ccurate, **S**table and **T**iny (**G**ated) RNN cells.
2020
- **DROCC**: **D**eep **R**obust **O**ne-**C**lass **C**lassfiication for training robust anomaly detectors.
21+
- **RNNPool**: An efficient non-linear pooling operator for RAM constrained inference.
2122

2223
These algorithms can train models for classical supervised learning problems
2324
with memory requirements that are orders of magnitude lower than other modern
@@ -37,9 +38,10 @@ Applications demonstrating usecases of these algorithms:
3738
and `examples/tf` contains sample training routines for these algorithms.
3839
- The `pytorch` directory contains the `edgeml_pytorch` package which specifies these architectures in PyTorch,
3940
and `examples/pytorch` contains sample training routines for these algorithms.
40-
- The `cpp` directory has training and inference code for Bonsai and ProtoNN algorithms in C++.
41+
- The `cpp` directory has training and inference code for `Bonsai` and `ProtoNN` algorithms in C++.
4142
- The `applications` directory has code/demonstrations of applications of the EdgeML algorithms.
4243
- The `tools/SeeDot` directory has the quantization tool to generate fixed-point inference code.
44+
- The `c_reference` directory contains the inference code (floating-point or quantized) for various algorithms in C.
4345

4446
Please see install/run instructions in the README pages within these directories.
4547

@@ -55,7 +57,8 @@ the PLDI '19 publication on [SeeDot compiler](/docs/publications/SeeDot.pdf),
5557
the UIST '19 publication on [Gesturepod](/docs/publications/GesturePod-UIST19.pdf),
5658
the BuildSys '19 publication on [MSC-RNN](/docs/publications/MSCRNN.pdf),
5759
the NeurIPS '19 publication on [Shallow RNNs](/docs/publications/Sha-RNN.pdf),
58-
and the ICML '20 publication on [DROCC](/docs/publications/drocc.pdf).
60+
the ICML '20 publication on [DROCC](/docs/publications/drocc.pdf),
61+
and the NeurIPS '20 publication on [RNNPool](/docs/publications/RNNPool.pdf).
5962

6063

6164
Also checkout the [ELL](https://github.com/Microsoft/ELL) project which can
@@ -69,6 +72,7 @@ Code for algorithms, applications and tools contributed by:
6972
- [Sachin Goyal](https://saching007.github.io/)
7073
- [Chirag Gupta](https://aigen.github.io/)
7174
- [Moksh Jain](https://github.com/MJ10)
75+
- [Shikhar Jaiswal](https://shikharj.github.io/)
7276
- [Ashish Kumar](https://ashishkumar1993.github.io/)
7377
- [Aditya Kusupati](https://adityakusupati.github.io/)
7478
- [Chris Lovett](https://github.com/lovettchris)
@@ -83,13 +87,14 @@ Please [email us](mailto:[email protected]) your comments, criticism, and que
8387
If you use software from this library in your work, please use the BibTex entry below for citation.
8488

8589
```
86-
@software{edgeml03,
90+
@misc{edgeml04,
8791
author = {{Dennis, Don Kurian and Gaurkar, Yash and Gopinath, Sridhar and Goyal, Sachin
88-
and Gupta, Chirag and Jain, Moksh and Kumar, Ashish and Kusupati, Aditya and
89-
Lovett, Chris and Patil, Shishir G and Saha, Oindrila and Simhadri, Harsha Vardhan}},
92+
and Gupta, Chirag and Jain, Moksh and Jaiswal, Shikhar and Kumar, Ashish and
93+
Kusupati, Aditya and Lovett, Chris and Patil, Shishir G and Saha, Oindrila and
94+
Simhadri, Harsha Vardhan}},
9095
title = {{EdgeML: Machine Learning for resource-constrained edge devices}},
9196
url = {https://github.com/Microsoft/EdgeML},
92-
version = {0.3},
97+
version = {0.4},
9398
}
9499
```
95100

docs/publications/RNNPool.pdf

3.49 MB
Binary file not shown.

pytorch/README.md

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,16 +22,21 @@ for these algorithms are in `edgeml_pytorch.trainer`.
2222
training routine for FastRNN and FastGRNN is decoupled from the custom cells to enable plug and
2323
play behaviour of the custom RNN cells in other architectures (NMT, Encoder-Decoder etc.).
2424
Additionally, numerically equivalent CUDA-based implementations `FastRNNCUDACell` and
25-
`FastGRNNCUDACell` are provided for faster training. `edgeml_pytorch.graph.rnn`.
25+
`FastGRNNCUDACell` are provided for faster training.
2626
`edgeml_pytorch.graph.rnn.Fast(G)RNN(CUDA)` provides unrolled RNNs equivalent to `nn.LSTM` and `nn.GRU`.
2727
`edgeml_pytorch.trainer.fastmodel` presents a sample multi-layer RNN + multi-class classifier model.
2828
4. [S-RNN](https://github.com/microsoft/EdgeML/blob/master/docs/publications/SRNN.pdf): `edgeml_pytorch.graph.rnn.SRNN2` implements a
29-
2 layer SRNN network which can be instantied with a choice of RNN cell. The training
29+
2 layer SRNN network which can be instantiated with a choice of RNN cell. The training
3030
routine for SRNN is in `edgeml_pytorch.trainer.srnnTrainer`.
3131
5. [DROCC & DROCC-LF](https://github.com/microsoft/EdgeML/blob/master/docs/publications/drocc.pdf): `edgeml_pytorch.trainer.drocc_trainer` implements
3232
a DROCC meta-trainer for training any given model architecture
33-
for one-class classification on the supplied dataset. `edgeml_pytorch.trainer.drocclf_trainer` implements the DROCC-LF varaint
33+
for one-class classification on the supplied dataset. `edgeml_pytorch.trainer.drocclf_trainer` implements the DROCC-LF variant
3434
for training models for one-class classification with limited negatives.
35+
6. [RNNPool](https://github.com/microsoft/EdgeML/blob/master/docs/publications/RNNPool.pdf): `edgeml_pytorch.graph.RNNPool` implements
36+
the RNNPool pooling layer which can be instantiated with the dimensions of the input patch
37+
and the hidden states. Currently only the inference code is implemented, as training routines
38+
are written individually for specific use cases. Please checkout the [RNNPool examples](https://github.com/microsoft/EdgeML/tree/master/examples/pytorch/vision) for reference implementations
39+
of the trainer modules.
3540

3641
Usage directions and examples notebooks for this package are provided [here](https://github.com/microsoft/EdgeML/blobl/master/examples/pytorch).
3742

0 commit comments

Comments
 (0)