An interview with Robert Crowe, Developer Advocate (TensorFlow) at Google

Sayak Paul
5 min readAug 21, 2019

--

I am pleased to share the news of starting an interview series on data science and machine learning from the people that have inspired me, that have taught me (read are teaching me) about these beautiful subjects. This is the first interview of many (hopefully) in the line. The purpose of doing this is to mainly get insights about the real-world project experiences, perspectives on learning new things, some fun facts and thereby enriching the communities in the process.

This is where you can find all the interviews done so far.

Today, I have Robert Crowe with me. Robert is a Developer Advocate for TensorFlow at Google. He is a part of the TensorFlow Extended (TFX) team. He recently did a 5-part series on getting started with TFX (part of the Coding TensorFlow series). You can start watching them here. You can learn more about Robert from here.

I would like to wholeheartedly thank Robert for taking the time to do this interview. I hope this interview serves a purpose towards the betterment of data science and machine learning communities in general :)

Source: Distributed Processing and Components (TensorFlow Extended)

TensorFlow Extended (TFX) is an end-to-end platform for deploying production ML pipelines. — https://www.tensorflow.org/tfx

An interview with Robert Crowe, Developer Advocate (TensorFlow) at Google

Sayak: Hi Robert! Thank you for doing this interview. It’s a pleasure to have you here today.

Robert: Hi Sayak, thanks for inviting me! I’m excited to talk about what we’re doing with TFX!

Sayak: Fantastic! Maybe you could first start by introducing yourself — what is your current job and what are your responsibilities over there?

Robert: I’m a Developer Advocate on the TensorFlow team at Google, focusing on TFX. My job is to work with developers to understand their needs and their pain points, the things they like and don’t like about TFX, and help the product team understand and design solutions and improvements for TFX. I also work with the open-source community to bring their contributions into TFX and make them part of how TFX evolves to meet their needs.

Sayak: How did you become interested in machine learning?

Robert: Kind of backwards. I did a project as a software engineer early in my career where I was writing code to predict the amount of time required to draw vector graphics. I created semi-random datasets and studied how they performed, creating functions that predicted the performance of our hardware. I didn’t know it at the time, but I was basically creating synthetic data and training a model — only the model was me. Later I started working with log files in Hadoop and Impala, and then Spark ML, and then Scikit-Learn and TensorFlow.

Sayak: That is an interesting fun fact! Hence the saying: “What goes around, comes around.” When you were starting what kind of challenges did you face? How did you overcome them?

Robert: When I started ML it was really just a matter of learning the algorithms and frameworks. When I started with TensorFlow it was very new, and a lot less friendly than it is now, especially with TF2. The first time I put a model into production I had to compile TensorFlow Serving!

Sayak: Ah! That must have been super heavy! What were some of the capstone projects you did during your formative years?

Robert: I did a project using WiFi sensor data to predict the flow of people through TSA checkpoints at airports. This is in production now. The challenge was that the data was very noisy, and the dataset was very small. It’s very expensive to collect labeled data in airports, there’s a lot of security to deal with. I also did a fun project taking AlexNet and applying it to Google Street View data, and the challenge there was to keep the AlexNet architecture with very different perceptual fields because of the difference in the input.

Sayak: Those challenges are real, for sure! Considering the architecture of AlexNet, those images surely were hard to deal with. These fields like machine learning are rapidly evolving. How do you manage to keep track of the latest relevant happenings?

Robert: It’s challenging! There is so much happening so quickly, so I need to spend a significant amount of time reading papers and looking at new code. But I can’t do nearly as much as I’d like to, so I need to pick and choose which areas to focus on. It’s one of the things I love about what I do because it’s impossible to get bored!

Sayak: This is so inspiring. Getting to do what you love is really a blessing in disguise, I think. Being a practitioner, one thing that I often find myself struggling with is learning a new concept. Would you like to share how do you approach that process?

Robert: I don’t think it’s unique to ML. Learning new concepts, especially when they’re a significant distance away from what you know now, can be challenging. I often try to get different explanations from different authors, if that’s possible, but often it’s not with the newer work. Sometimes I’ll read a paper and feel like I’m not really getting all of it, but I’ll let it soak in for a few days or weeks and then come back to it and often I’ll understand it better the next time.

Sayak: I think that is particularly very relatable in case of machine learning as well. Any advice for beginners?

Robert: Try to really understand basic concepts like the Curse of Dimensionality and loss surfaces. Also make sure that you understand not just supervised learning, but unsupervised and reinforcement learning as well. Focus on understanding data concepts like distance and mutual information before diving too deep into the myriad of model architectures. Remember that there is no magic, and if a human could not look at the data and find predictive information there is a good chance that a machine can’t either. In the end, there has to be information in the data, and to cover a loss surface there has to be variety, or your model cannot predict well. For reinforcement learning finding a good reward function can be challenging but has a huge impact on success. But don’t get discouraged if your first few models don’t train well, ML is an iterative process of discovery!

Sayak: All noted and taken to heart, Robert. Thank you so much for doing this interview and for sharing your valuable insights. I hope they will be immensely helpful for the community.

Robert: It was my pleasure, and thanks for having me!

Summary

As stated by Robert, having a sound understanding the fundamental things in machine learning is one of the key aspects if you are indeed a machine learning enthusiast. Machine learning modeling is highly an iterative process, so it’s perfectly okay to not get the right model in the first place. Experimentation is a part and parcel of machine learning. It’s important to work on projects that aim to solve real-world problems while you are in the making.

I hope you enjoyed reading this interview. Watch out this space for the next one and I hope to see you soon.

If you want to know more about me, check out my website.

--

--

Sayak Paul
Sayak Paul

Written by Sayak Paul

ML at 🤗 | Netflix Nerd | Personal site: https://sayak.dev/

Responses (1)