Loading...

  • sphere
  • sphere
  • Josh Fromm

  • Edge Computing
    & Deep Learning

    Ubicomp Lab @ UW

  • flake

    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.

    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.

    • 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.
    • 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.
    • 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.
    • 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.
    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