Skip to content

Latest commit

 

History

History
34 lines (31 loc) · 1015 Bytes

File metadata and controls

34 lines (31 loc) · 1015 Bytes

Adaptive Neural Networks on Embedded Systems

Emb-atda is a "unsupervised" domain adaptation algorithm based on "Asymmetric Tri-training for Unsupervised Domain Adaptation (atda)". Atda was modified such that it could be ported to an embedded device or a microcontroller. This repository contains an implementation of emb-atda and a guide on how to run it.

Requirements / Preparation

Software

  • python 3.7.3
  • tensorflow 1.14.0
  • keras 2.2.4

Data

$ cd data

Download the BSDS500 dataset:

$ curl -L -O http://www.eecs.berkeley.edu/Research/Projects/CS/vision/grouping/BSR/BSR_bsds500.tgz

Create the mnistm dataset with:

$ python3 create_mnistm.py

Run emb-atda on MNIST → MNISTM

In order to test the emb-atda algorithm run:

$ cd ..
$ python3 mnist2mnistm.py Load noPlot

OR

$ cd ..
$ python3 mnist2mnistm.py Train Plot

to retrain the neural network on source domain data and enable plots