I'm Rob DiPietro, a PhD student in the Department of Computer Science at Johns Hopkins, where I'm advised by Gregory D. Hager. I'm part of the Computational Interaction and Robotics Laboratory and the Malone Center for Engineering in Healthcare. Previously I was an associate research-staff member at MIT Lincoln Laboratory and a BS/MS student at Northeastern University, where I studied applied physics and electrical engineering.

Recent News

June, 2016

Our paper on surgical activity recognition has been accepted as an oral presentation at MICCAI 2016:

R. DiPietro, C. Lea, A. Malpani, N. Ahmidi, S. Vedula, G.I. Lee, M.R. Lee, G.D. Hager: Recognizing Surgical Activities with Recurrent Neural Networks. Medical Image Computing and Computer Assisted Intervention (2016).


My research focuses on machine-learning methods for modeling sequential data, and I'm especially interested in recurrent neural networks. Is it possible to improve over LSTM and GRUs when it comes to capturing long-term dependencies? If so, can these approaches be carried over to very deep feed-forward networks? Is it possible to reduce RNN training times in a way that's principled?


Some of my projects are available here, along with a small set of Jupyter notebooks.

I like C. I love Python. For deep learning my tool of choice is TensorFlow, which I've contributed code, docs, and tests to.



Johns Hopkins University

  • Instructor for EN.500.111, HEART: Machine Learning for Surgical Workflow Analysis. In this course, students are exposed to basic machine-learning concepts and to some applications to surgical workflow analysis. Fall, 2015.
  • Teaching Assistant for EN.600.676, Machine Learning: Data to Models. In this course, students learn about probabilistic graphical models. They are exposed to the junction-tree algorithm, variational inference, Markov chain Monte carlo, etc. Spring, 2015.
  • Co-Instructor for EN.600.120, Intermediate Programming. In this course, students learn how to design programs, how to write code that's efficient but simple, and how to debug code when it's not working (C and C++). For more information, see Prof. Yair Amir's course page. Spring, 2014.
  • Instructor for EN.600.101, MATLAB for Data Analytics. In this course, students with no prior programming experience learn to analyze and visualize data using MATLAB. Intersession, 2014.

Curriculum Vitae / Publications

My CV is here and my publications are here.

Some Fun

Paragliding in Switzerland (2014)


Skydiving in Switzerland (2010)


View from the Zugspitze (2016)