DLS Course 4 Week 3 A1

I am struggling with the first assignment of the third week. Even implementing the first function is turning out to be quite difficult for me. Please help.

This is the YOLO assignment. You’re right that it is challenging. The concept of what YOLO is doing is several notches more complex than anything we’ve dealt with up to this point and we also need to use several new and more sophisticated TF functions than we have encountered up to this point.

But it’s not really fair just to say “please help”. Where am I supposed to start? My suggestion would be to take a few deep calming breaths or maybe go for a walk. Then come back and read through the beginning part of this notebook again carefully down to the first function. There are lots of explanations, lots of hints and lots of pointers to TF functions and their documentation.

The other thing that would be good to do is look at some of the Discourse posts about YOLO. Here’s one of several really excellent and helpful posts on the subject from Ai_Curious.

Maybe once you’ve done that, you’ll be able to formulate a more specific question than “Please help!” :nerd_face:

Funny… I actually just completed the assignment I was having a bit of trouble with what the first function was actually doing but after reading the text again and again I eventually got “All tests passed!”

That’s great to hear. Congratulations on figuring it out under your own power. Onward! :nerd_face:

So, thank you for your help and I find doing DLS quite fun and informative but I have a few concerns. See, I took this course because I wanted to ‘Build’ something on my own. We have been implementing various methods and networks upto this point both with the help of available libraries and hardcoding the methods which is great. But, I still feel that I am not ready to ‘Build’ on my own yet. All the programing assignments we’ve had up until now have basically spoon-fed us what we need to do which is necessary I know, if they hadn’t been there I still might’ve been stuck on first assignment but I sort of need a guide to work through my desire of ‘creating’ and ‘building’. Do you think that if I take other courses from deeplearning.ai like GANs specialisation, NLP Specialisation and Tensorflow Develeoper I’d be able to create these models start to finish on my own?

It is a good point that the courses here do a lot of the ‘setup’ work for you and effectively ‘spoon feed’ you the programming tasks. In a lot of cases, it feels more like an exercise in copy and pasting as opposed to “real programming”. In terms of what to do next to develop the skills to apply these idea on your own, I don’t have a definitive plan for that, but can offer a few observations:

The GANs specialization is also really interesting and would be a good one to take after the DLS series. One cool thing that you will learn there is PyTorch, as opposed to TensorFlow. Their notebooks are also directly portable to Google Colab, so it is a step in the direction of self-sufficiency that way as well. And GANs are just fundamentally interesting. Prof Zhou does a great job of presenting that material. Definitely worth having a look at the first course there and see if it grabs you.

I have only looked at the first week or two of the first TensorFlow In Practice Course. It basically assumes you already know the material in DLS and walks you through how to implement a bunch of different networks in TF.

But if you want to gain the experience to really build something on your own, there’s no better way than to just try that and you will learn a lot in the process. One place to start would be to pick a project from the Kaggle website. They give you curated datasets and a particular problem to solve. If you pick one of the contests that has already finished, you can try it and then also look at other people’s solutions.

The thing to realize is that in the “real world” everyone uses either TF/Keras or PyTorch or one of the other frameworks. So the first step is to pick the one you prefer and dig in on learning that. TF is probably the most prevalent in industry, but PyTorch is more common in research and university environments and seems to be gaining ground in general. It’s worth learning PyTorch in addition to TF just as a general matter and taking the GANs courses would give you that as an added benefit.


Do you also feel that I should refer to some other courses on machine learning like the one offered by University of Michigan.

Sorry, I am not familiar with the University of Michigan course. More learning is generally better, but it depends on what your overall goal is here, I guess. If you are interested in applying Machine Learning in a specific application domain, you can look around for courses that address the domain in question. E.g. the AI for Medicine specialization from deeplearning.ai. I have not taken that one, so I can’t comment on what it covers. Another general area that is not covered by either the DLS specialization or GANs is how you gather, prepare and curate data for ML applications. That’s a hugely important area. There are a number of different courses in the general area of “Data Science”. E.g. there’s the Practical Data Science specialization from deeplearning.ai, but I have not taken that yet so I can’t offer more detailed feedback on that.