diff --git a/README.md b/README.md index 27f89837..84b10dff 100644 --- a/README.md +++ b/README.md @@ -52,9 +52,10 @@ the ICML '17 publications on [Bonsai](/docs/publications/Bonsai.pdf) and the NeurIPS '18 publications on [EMI-RNN](/docs/publications/emi-rnn-nips18.pdf) and [FastGRNN](/docs/publications/FastGRNN.pdf), the PLDI '19 publication on [SeeDot compiler](/docs/publications/SeeDot.pdf), -the UIST '19 publication on [Gesturepod](/docs/publications/ICane-UIST19.pdf), +the UIST '19 publication on [Gesturepod](/docs/publications/GesturePod-UIST19.pdf), the BuildSys '19 publication on [MSC-RNN](/docs/publications/MSCRNN.pdf), -and the NeurIPS '19 publication on [Shallow RNNs](/docs/publications/Sha-RNN.pdf). +the NeurIPS '19 publication on [Shallow RNNs](/docs/publications/Sha-RNN.pdf), +and the ICML '20 publication on [DROCC](/docs/publications/drocc.pdf). Also checkout the [ELL](https://github.com/Microsoft/ELL) project which can diff --git a/applications/GesturePod/README.md b/applications/GesturePod/README.md index a858a180..8469758a 100644 --- a/applications/GesturePod/README.md +++ b/applications/GesturePod/README.md @@ -19,4 +19,4 @@ To learn more about GesturePod, refer our [UIST'19 publication](https://github.c The benchmark dataset for Gesture recognition can be downloaded [here](https://www.microsoft.com/en-us/research/uploads/prod/2018/05/dataTR_v1.tar.gz) [MIT Open source license]. -_If you are using the dataset please [cite](https://dl.acm.org/downformats.cfm?id=3347881&parent_id=3332165&expformat=bibtex) GesturePod._ +_If you are using the dataset please [cite](https://dl.acm.org/doi/10.1145/3332165.3347881) GesturePod._ diff --git a/applications/GesturePod/onComputer/README.md b/applications/GesturePod/onComputer/README.md index e9f03412..a839dce1 100644 --- a/applications/GesturePod/onComputer/README.md +++ b/applications/GesturePod/onComputer/README.md @@ -28,7 +28,7 @@ used as a basis for porting GesturePod to other platforms. 2. Clone the repo and navigate to this directory ``` git clone https://github.com/microsoft/EdgeML.git - cd EdgeML/Applications/GesturePod/onComputer + cd EdgeML/applications/GesturePod/onComputer ``` 3. Compile and build the code ``` diff --git a/applications/GesturePod/onMKR1000/README.md b/applications/GesturePod/onMKR1000/README.md index 01ae854d..98da2133 100644 --- a/applications/GesturePod/onMKR1000/README.md +++ b/applications/GesturePod/onMKR1000/README.md @@ -19,7 +19,7 @@ GesturePod *(on MKR1000)* 1. Clone the repo and navigate to this folder ``` git clone https://github.com/microsoft/EdgeML.git - cd Applications/GesturePod/onMKR1000 + cd EdgeML/applications/GesturePod/onMKR1000 ``` 2. Refer to this [tutorial](https://microsoft.github.io/EdgeML/Projects/GesturePod/instructable.html) to build the Hardware and setup external dependencies - [Cortex M0+ Board support](https://www.hackster.io/charifmahmoudi/arduino-mkr1000-getting-started-08bb4a). diff --git a/Applications/GesturePod/training/README.md b/applications/GesturePod/training/README.md similarity index 95% rename from Applications/GesturePod/training/README.md rename to applications/GesturePod/training/README.md index e0925286..ccb1434c 100644 --- a/Applications/GesturePod/training/README.md +++ b/applications/GesturePod/training/README.md @@ -29,7 +29,7 @@ Accelorometer and gyroscope values from the MPU6050 sensor is collected. Connect the GesturePod to computer over Serial COM Port. 1. Refer - [here](https://github.com/microsoft/EdgeML/blob/master/Applications/GesturePod/onMKR1000/README.md#quick-start) + [here](https://github.com/microsoft/EdgeML/blob/master/applications/GesturePod/onMKR1000/README.md#quick-start) to set up the required dependencies for the MKR1000 platform. 2. Compile, Build and Upload @@ -87,9 +87,9 @@ This will generate a `train.csv` and `test.csv` files that should be used to gen Using the TensorFlow / PyTorch / cpp implementation of the ProtoNN algorithm from the EdgeML repository, train a model on the ```train.csv``` file generated above. Extract W, B, Z, and gamma values from the trained ProtoNN model. Update these values in -```EdgeML/Applications/GesturePod/onMKR1000/src/data.h``` to deploy the model on +```EdgeML/applications/GesturePod/onMKR1000/src/data.h``` to deploy the model on the GesturePod. Alternately, update -```EdgeML/Applications/GesturePod/onComputer/src/data.h``` to simulate inference +```EdgeML/applications/GesturePod/onComputer/src/data.h``` to simulate inference of the new model on your computer. Alternatively, to generate a `data.h`, you could: diff --git a/Applications/GesturePod/training/csvFromSerial.py b/applications/GesturePod/training/csvFromSerial.py similarity index 100% rename from Applications/GesturePod/training/csvFromSerial.py rename to applications/GesturePod/training/csvFromSerial.py diff --git a/Applications/GesturePod/training/dataFileTemplate.py b/applications/GesturePod/training/dataFileTemplate.py similarity index 100% rename from Applications/GesturePod/training/dataFileTemplate.py rename to applications/GesturePod/training/dataFileTemplate.py diff --git a/Applications/GesturePod/training/genDataHeader.py b/applications/GesturePod/training/genDataHeader.py similarity index 100% rename from Applications/GesturePod/training/genDataHeader.py rename to applications/GesturePod/training/genDataHeader.py diff --git a/Applications/GesturePod/training/generateFeatures.py b/applications/GesturePod/training/generateFeatures.py similarity index 100% rename from Applications/GesturePod/training/generateFeatures.py rename to applications/GesturePod/training/generateFeatures.py diff --git a/Applications/GesturePod/training/labelData.py b/applications/GesturePod/training/labelData.py similarity index 100% rename from Applications/GesturePod/training/labelData.py rename to applications/GesturePod/training/labelData.py diff --git a/Applications/GesturePod/training/serialDataCollection/config.h b/applications/GesturePod/training/serialDataCollection/config.h similarity index 100% rename from Applications/GesturePod/training/serialDataCollection/config.h rename to applications/GesturePod/training/serialDataCollection/config.h diff --git a/Applications/GesturePod/training/serialDataCollection/serialDataCollection.ino b/applications/GesturePod/training/serialDataCollection/serialDataCollection.ino similarity index 100% rename from Applications/GesturePod/training/serialDataCollection/serialDataCollection.ino rename to applications/GesturePod/training/serialDataCollection/serialDataCollection.ino diff --git a/Applications/GesturePod/training/serialDataCollection/src/lib/I2Cdev.cpp b/applications/GesturePod/training/serialDataCollection/src/lib/I2Cdev.cpp similarity index 100% rename from Applications/GesturePod/training/serialDataCollection/src/lib/I2Cdev.cpp rename to applications/GesturePod/training/serialDataCollection/src/lib/I2Cdev.cpp diff --git a/Applications/GesturePod/training/serialDataCollection/src/lib/I2Cdev.h b/applications/GesturePod/training/serialDataCollection/src/lib/I2Cdev.h similarity index 100% rename from Applications/GesturePod/training/serialDataCollection/src/lib/I2Cdev.h rename to applications/GesturePod/training/serialDataCollection/src/lib/I2Cdev.h diff --git a/Applications/GesturePod/training/serialDataCollection/src/lib/MPU6050.cpp b/applications/GesturePod/training/serialDataCollection/src/lib/MPU6050.cpp similarity index 100% rename from Applications/GesturePod/training/serialDataCollection/src/lib/MPU6050.cpp rename to applications/GesturePod/training/serialDataCollection/src/lib/MPU6050.cpp diff --git a/Applications/GesturePod/training/serialDataCollection/src/lib/MPU6050.h b/applications/GesturePod/training/serialDataCollection/src/lib/MPU6050.h similarity index 100% rename from Applications/GesturePod/training/serialDataCollection/src/lib/MPU6050.h rename to applications/GesturePod/training/serialDataCollection/src/lib/MPU6050.h diff --git a/Applications/GesturePod/training/serialDataCollection/src/lib/MPU6050_6Axis_MotionApps20.h b/applications/GesturePod/training/serialDataCollection/src/lib/MPU6050_6Axis_MotionApps20.h similarity index 100% rename from Applications/GesturePod/training/serialDataCollection/src/lib/MPU6050_6Axis_MotionApps20.h rename to applications/GesturePod/training/serialDataCollection/src/lib/MPU6050_6Axis_MotionApps20.h diff --git a/Applications/GesturePod/training/serialDataCollection/src/lib/helper_3dmath.h b/applications/GesturePod/training/serialDataCollection/src/lib/helper_3dmath.h similarity index 100% rename from Applications/GesturePod/training/serialDataCollection/src/lib/helper_3dmath.h rename to applications/GesturePod/training/serialDataCollection/src/lib/helper_3dmath.h diff --git a/Applications/GesturePod/training/serialDataCollection/src/utils.cpp b/applications/GesturePod/training/serialDataCollection/src/utils.cpp similarity index 100% rename from Applications/GesturePod/training/serialDataCollection/src/utils.cpp rename to applications/GesturePod/training/serialDataCollection/src/utils.cpp diff --git a/Applications/GesturePod/training/serialDataCollection/src/utils.h b/applications/GesturePod/training/serialDataCollection/src/utils.h similarity index 100% rename from Applications/GesturePod/training/serialDataCollection/src/utils.h rename to applications/GesturePod/training/serialDataCollection/src/utils.h diff --git a/Applications/GesturePod/training/timestep/B b/applications/GesturePod/training/timestep/B similarity index 100% rename from Applications/GesturePod/training/timestep/B rename to applications/GesturePod/training/timestep/B diff --git a/Applications/GesturePod/training/timestep/W b/applications/GesturePod/training/timestep/W similarity index 100% rename from Applications/GesturePod/training/timestep/W rename to applications/GesturePod/training/timestep/W diff --git a/Applications/GesturePod/training/timestep/Z b/applications/GesturePod/training/timestep/Z similarity index 100% rename from Applications/GesturePod/training/timestep/Z rename to applications/GesturePod/training/timestep/Z diff --git a/Applications/GesturePod/training/timestep/__init__.py b/applications/GesturePod/training/timestep/__init__.py similarity index 100% rename from Applications/GesturePod/training/timestep/__init__.py rename to applications/GesturePod/training/timestep/__init__.py diff --git a/Applications/GesturePod/training/timestep/eventhandler.py b/applications/GesturePod/training/timestep/eventhandler.py similarity index 100% rename from Applications/GesturePod/training/timestep/eventhandler.py rename to applications/GesturePod/training/timestep/eventhandler.py diff --git a/Applications/GesturePod/training/timestep/plotterobjects.py b/applications/GesturePod/training/timestep/plotterobjects.py similarity index 100% rename from Applications/GesturePod/training/timestep/plotterobjects.py rename to applications/GesturePod/training/timestep/plotterobjects.py diff --git a/docs/publications/drocc.pdf b/docs/publications/drocc.pdf new file mode 100755 index 00000000..3fe75e98 Binary files /dev/null and b/docs/publications/drocc.pdf differ diff --git a/pytorch/README.md b/pytorch/README.md index a82fd34d..00d22471 100644 --- a/pytorch/README.md +++ b/pytorch/README.md @@ -28,7 +28,8 @@ for these algorithms are in `edgeml_pytorch.trainer`. 4. [S-RNN](https://github.com/microsoft/EdgeML/blob/master/docs/publications/SRNN.pdf): `edgeml_pytorch.graph.rnn.SRNN2` implements a 2 layer SRNN network which can be instantied with a choice of RNN cell. The training routine for SRNN is in `edgeml_pytorch.trainer.srnnTrainer`. -5. DROCC & DROCC-LF: `edgeml_pytorch.trainer.drocc_trainer` implements a DROCC meta-trainer for training any given model architecture +5. [DROCC & DROCC-LF](https://github.com/microsoft/EdgeML/blob/master/docs/publications/drocc.pdf): `edgeml_pytorch.trainer.drocc_trainer` implements + a DROCC meta-trainer for training any given model architecture for one-class classification on the supplied dataset. `edgeml_pytorch.trainer.drocclf_trainer` implements the DROCC-LF varaint for training models for one-class classification with limited negatives.