C4 W2 A2 : Wrestling with TensorFlow in MobileNet Assignment

Hey everyone,

I hope you’re doing well! I wanted to quickly share my thoughts on the “Transfer Learning with MobileNet” assignment. While I found filling in the code manageable, the complete code complexity, especially with TensorFlow, has me a bit uneasy.

I’m wondering if anyone else is feeling the same and how you’re tackling it. Is a deep understanding of TensorFlow crucial for success in this specialization, or is grasping the broader concepts more important?

If you have tips or resources to share on handling advanced TensorFlow code, I’d love to hear them.


Broad understanding of TensorFlow is sufficient for this course.

There is a separate Specialization for advanced TensorFlow.

Yes, TensorFlow is pretty “deep waters” and we’re just being introduced to it here. As Tom says, you don’t need deep knowledge of it, but you do need to find your way around things. One good resource is this thread on the forums, which gives a much more thorough explanation of how the Keras Sequential and Functional APIs work. There is also a lot of higher level documentation on the TF website, for example here’s an article by Francois Chollet about Transfer Learning that explains in more detail a lot of the ideas we are working with in the MobilNet assignment.


Thanks a lot for your guidance and the resources! I’ll dive into the forum thread and check out Francois Chollet’s article. Understanding TensorFlow will take time, but I’m optimistic. Your support means a lot.

The good news is that they have converted everything to use TF 2.0 now with “eager” execution mode, which is a lot easier to deal with than the graph mode that was the only choice in TF 1.0. That was all that existed when they first created DLS, so we had to grapple with that for a couple of years.

There are also several more specializations that are designed to cover TF in much more detail once you finish DLS, if that is relevant to your goals.

Note that there are also other frameworks besides TF: a lot of people in the academic research side of things seem to prefer Pytorch and it is also gaining popularity in more application contexts as well. It’s like learning programming languages: if you’re applying for jobs, having more languages and frameworks on your resume is a good thing, because some employers may also have gone with Pytorch. There is not a lot of Pytorch used here at DLAI, but the GANs specialization uses it. GANs are quite interesting in their own right and you get familiar with Pytorch as a nice “side effect”. If GANs are relevant to your interests, that’s another thing to consider taking once you complete DLS.

Thanks a lot @paulinpaloalto