Josh Fromm
Edge Computing & Deep Learning
Ubicomp Lab @ UW
About Me
I'm a Fifth year electrical engineering Ph.D candidate at the University of Washington'sUbicomp Lab . I previously received a B.S.
with honors in electrical engineering and computer science from the California Institute of Technology. My research primarily
focuses on developing technologies that allow state of the art deep learning systems to be deployed on commodity class devices.
To this end, I work on improving core deep learning operations and developing novel resource efficient architectures. I typically
|work with computer vision systems for both frame and video classification, but am very interested in language processing and
context understanding, much like the capabilities seen in a free AI essay writer.
Publications
- Heterogeneous Bitwidth Binarization in Convolutional Neural Networks
Presented at NIPS 2018
Josh Fromm, Shwetak Patel, and Matthai Phillipose.
- TB or not TB: Cough Detection and Tuberculosis Classication for Pulmonary Health Estimation
Presented at IMWUT 2018
Elliot Saba, Josh Fromm, Clara Jiayao, and Shwetak Patel.
- Limiting Numerical Precision of Neural Networks to Achieve Real-Time Voice Activity Detection
Presented at ICASSP 2018
Jong Hwan Ko, Josh Fromm, Matthai Phillipose, Ivan Tashev, and Shuayb Zarar.
- PaperID: A Technique for Drawing Functional Battery-Free Wireless Interfaces on Paper
Presented at CHI 2016
Hanchuan Li, Eric Brockmeyer, Elizabeth Carter, Josh Fromm, Scott Hudson, Shwetak Patel, and Alanson Sample.
- SpiroCall: Measuring Lung Function over a Phone Call
Presented at CHI 2016
Mayank Goel, Elliot Saba, Maia Stiber, Eric Whitmire, Josh Fromm, Eric Larson, Gaetano Borriello, and Shwetak Patel.
- RoyalFlush: Non-Invasive Water Level Monitor to Prevent Toilet Overflows
Presented at IoT 2018
Farshid Salemi Parizi, Josh Fromm, Shantanu Deshpande, and Shwetak Patel.
- Gesture-Based Robot Control with Variable Autonomy from the JPL BioSleeve
Presented at IEEE Conference on Robotics and Automation 2013
Michael T. Wolf, Christopher Assad, Matthew T. Vernacchia, Joshua Fromm, and Henna L. Jethani.
Experience
- Nest Brain Perception Team
Developed deep adversarial generative network for converting IR images into realistic colorized scenes.
Summer of 2018.
- Microsoft Research ML on the Edge Group
Worked on developing algorithms and systems to enable fast deep learning inference times on Raspberry Pi class devices.
Summers of 2016 and 2017.
- Microsoft Research Cambridge Sensors and Devices Group
Developed hardware for RF power harvesting in battery-free embedded systems.
Summer of 2015.
- Nvidia Hardware Verification Team.
Verified that streaming multiprocesser operation in RTL matched simulated outputs of a C++ model.
Additionally developed many automated data visualization tools to improve team efficiency.
Summers of 2013 and 2014.
- Nvidia Hardware Verification Team.
Verified that streaming multiprocesser operation in RTL matched simulated outputs of a C++ model. Additionally developed many automated data visualization tools to improve team efficiency.
Summers of 2013 and 2014.
- NASA Jet Propulsion Laboratory Robotics Group.
Designed and developed the hardware and software of a system that uses an array of EMG electrodes to monitor muscle activity in a user’s arm and control robotic interfaces using simple trained gestures.
Summer of 2012.
- ARM VOIP Telephone
The VOIP Telephone is a project I completed at Caltech. The purpose of the system is to transmit captured voice data over TCP IP to another phone of similar design. The telephone features an interface using a scrolling
LCD display and a 16 key keypad. The system is run using an ARM 920T processor.
System Schematics can be found here.
The user manual can be found here.
- BioSleeve
The BioSleeve is a project I worked on at NASA's Jet Propulsion Lab from 2012 to 2013. The purpose of the project was to develop an EMG electrode array which can reliably interpret hand gestures and control a variety of robots using those gestures.
The prototype featured here used gestures to play a Ball Blasters Infinity python game.
System Schematics can be found here.
The user manual can be found here.
- Ball Blasters Infinity Redux
BBIR is a project I completed for the class EE119C: Advanced Digital Systems Design. My goal for the project was to design an
implement the entirety of an arcade style video game on an FPGA system. The game was implemented on a Spartan FPGA and played
like a dream. Supporting hardware included a retro atari joystick, a portable speaker, and VGA output. Gameplay was inspired by
my previous BallBlasters game implemented on the BioSleeve Prototype. This time around, the original dream of Ball Blasters really
came through. The player uses a joystick to control the ship of a daring space captain that rescues green balls while battling
treacherous red balls.
The user manual can be found here.
- Kenyan Corruption Tracker
The Kenyan Corruption Tracker is a software framework which I developed at Caltech. The tracker crawls through Kenyan news articles
and parses relationships between high profile Kenyan politicians and scandals / corruption. The tracker also maps social networks
by keeping track of when politicians are associated with each other.
A presentation covering the tracker can be found here.
Teaching
- TECHIN 513
Instructor Winter 2018
Introduction to managing data, machine learning, and deep learning at the Global Innovation Exchange program at UW. This
course served as a from scratch crash course on modern deep learning systems that included a heavy project component.
Topics covered include regression, KNN, neural networks, convolutional networks, LSTMs, generative networks, and
reinforcement learning. The class project requires students to collect data and deploy their own deep learning system.
- EE 478
Instructor Spring 2015
Design of Computer Subsystems is a senior capstone course at the University of Washington in which students design and
build from scratch an embedded system project of their choice. For many students, this is the first full sequence project
completed and goes a long way to test what they've learned during their undergraduate education. Projects completed by
teams of 3 range from smart home systems to controlling quad-copters gestures.
-
EE 5
TA Spring 2012
EE 5 serves as an introductory course in logic design and embedded systems. The course varies between paper assignments
and lab work and includes lessons in ABEL and PLG.
-
EE/CS 51
TA Fall 2012 2013
EE/CS 51 covers the design and implementation of embedded systems. Although the coursework is primarily software,
lectures cover both hardware and software aspects of implementing a system. During the course, students develop the
entire software system for a "RoboTrike" mobile robot platform.
-
EE/CS 52
TA Winter 2012 2013
EE/CS 52 expands upon the embedded systems base established in EE/CS 51. In 52, topics focus primarily on hardware.
Students work on a single project during the term, constructing one of four projects: an ARM VOIP telephone, an SoPC
digital oscilloscope, and a 80188 / Blackfin jukebox.
- EE/CS 53
TA Spring 2012 2013
EE/CS 53 is an advanced embedded systems course. 53 is intended for students who are well versed in embedded system
design and are interested in doing a project completely on their own. TA's for the course provide weekly oversight and
guidance.
© 2018 Josh Fromm