How I passed the TensorFlow Developer Certification exam (and how you can too)

Daniel Bourke shares how he passed the TensorFlow Developer Certification exam, which costs $100 and takes 5 hours in PyCharm. He used Coursera's TensorFlow in Practice specialization, the Hands-On Machine Learning book, and MIT's deep learning lectures, studying with a Notion curriculum and daily coding practice. The certification covers image classification, NLP, and time-series forecasting.
Chapters
You know what? I believe this is a bit of a lie. Won't take 2 weeks. Surely it's there already. Oh my goodness. Congratulations, you have passed the Tense Flow Diploma Certificate Exam. Oh, I could cry. I could cry. You'll be happy to know I didn't cry. The only two times I will allow or permit myself to cry is in the final scene, or one of the final scenes of Terminator, where he's sinking down into the lava with the thumb up, or when fixing a CUDA error when training a machine learning model. They're the only two times. But what you just saw was me passing the TensorFlow Developer Certification exam. And so 4 weeks ago or so, start of May, I decided, you know what, I'm going to get TensorFlow Developer Certified. And so that's what we're going to do in this video. I'm going to talk about what it is, why you might want to look at doing it yourself, how I did it, and subsequently how you can too. Let's start with what. So what is the TensorFlow Developer Certification? But first, what is TensorFlow? Well, TensorFlow is an open source numerical computing library. And what I mean by that, that's a fancy way of saying it's a, it's a computing library that allows you to take some sort of data, and data can be a whole— data is a very wide, wide-ranging term. It could be a structured table of numbers, it could be an image, it could be a body of text, anything you can imagine almost. Turn that data into numbers, so that's, that's usually called preprocessing, and then find patterns in those numbers, usually referred to as models. Typically You'll, you'll build a deep learning style model, which is a neural network with TensorFlow. And then, this is all within TensorFlow, by the way, and then you can use the same library to serve or to deliver those patterns that you find in data to people all over the world through the form of an application, a machine learning powered application. Now TensorFlow has sections within its library. It's a very big library. That allows you to do each part of those. It's what Google uses to, to power all of their machine learning services. Now, the TensorFlow Developer Certification, as you might have guessed, is a way to showcase your ability to use TensorFlow. Now, if we think about it, I just broke it down, TensorFlow, into preprocessing, modeling, and serving. At its current standpoint, the TensorFlow Developer Certification is focused on the modeling part. And so what I mean by that more specifically is building deep learning neural networks for computer vision, natural language processing, so identifying patterns in natively written text or naturally written text, and time series forecasting. So if you imagine you have a series of events across a certain time period, how can you build a deep learning model to predict what comes next in in that time series. Now that you have a rough idea of what TensorFlow is and what the TensorFlow Developer Certification is, why might you want to get TensorFlow Developer Certified? Well, my first reason was fun. That's the first reason I use for a lot of things. But it was at the start of May, and I'm like, you know what, I want to sharpen up my machine learning skills. And so I discovered, well, this is a great thing to work towards to to give me an excuse not only to read this beautiful book that we'll get into later, but to just sharpen up a few of the things that, that I'd wanted to learn for a while, I wanted to practice for a while. Now, two other very valid reasons aside from fun, I kind of touched on it just before, is to— number 2 would be to acquire the foundational skills required to build machine learning powered applications. And number 3, to showcase your ability to work on machine learning problems to a potential future employer. And speaking of future employers, based on some data from Hacker News— now this is from a website called hntrends.com— and based on some data from Hacker News's, whose hiring page, it seems that TensorFlow outperforms in terms of job postings, like if the deep learning framework was mentioned in the job posting of a company that's hiring, it seems that at the moment TensorFlow outperforms other deep learning frameworks. Now, this is not to say that one's better than the other. It's just, just an observational thing. Like, it could be completely different depending on what kind of role you're going for. And of course, a paid certificate is no guarantee for a job. But in the world of online learning, where most of us or many of us are learning these skills now, it's a way to compensate or to go to someone, "Hey, you know what? I've done the effort. I've put in the effort to learn these things. And I've gone to the trouble of going through this skill competency test to make sure that I can go, "Hey, look, I can do these things." I think of it, and I'll say this probably more than once, I think of it as a nice to have, not a need to have. It's something that you can use beside, to go alongside with the projects that you've worked on yourself. Now, you might have heard all this and be like, "Yep." Sounds great. How do I do it? Well, let me tell you how I did and maybe give some inspiration for how you can too. The first thing I did was read the handbook that you can find on the TensorFlow Developer Certification homepage, and then I did my research on what I needed to know. So once I'd done that, I put together a curriculum document in Notion. Mainly, I wrote out each of the different topics I needed to cover and then gathered resources together for each topic. So if we started by reading the handbook, the exam says it's going to be on— and now I'm breaking down each of these into, into the 4 main topics. It's build and train a neural network model using TensorFlow 2.x, aka match the input shape of data to the input shape of a neural network. Then it was number 2, image classification. Can you define convolutional neural networks or train on real-world images? Number 3, natural language processing. Can you build models that identify the category of a piece of text using binary or multi-class classification? And number 4, time series sequences and predictions. Use recurrent neural networks and convolutional neural networks for time series and forecasting models. Now, if you were to, to first read this handbook, if you've had some experience with TensorFlow, you might read it and go, you know what, this is pretty straightforward. I might need to touch up on a few things, but none of it seems too outlandish to me. But if you're a beginner and you're new to the field and you're still learning machine learning, I mean, I'm still learning machine learning, but if you haven't had much experience or hands-on experience with TensorFlow, you might read it and be quite overwhelmed, but that's okay. The resources that I'm about to list, the ones that I'd collected and discovered after I knew what the exam was on, they will help you to learn these things. The first place you want to go is if you want to prepare for the exam, or if I only had to pick one resource, was the TensorFlow in Practice specialization on Coursera. And then I actually used a few more. So the three, the main three that I used was the TensorFlow in Practice specialization on Coursera, the Hands-On Machine Learning book with scikit-learn, Keras, and TensorFlow by Aurélien Garonne, Now, only half of this book is related to the exam. So it's the part on neural networks. So I think it— I don't know exactly what page it's on, what starts, and— but in the blog post I list what exact chapters are relevant to the exam from this book. Finally was the Introduction to Deep Learning by MIT. So the first 3 lectures of that series on YouTube are most relevant to the exam. Oh, finally, the bonus one is the Getting Started with PyCharm tutorials on the PyCharm website, because the exam takes place in PyCharm. And so if you haven't— if you're not familiar with PyCharm, most of my development I do in Jupyter Notebooks. So if you haven't used PyCharm before, it's, it's definitely a good idea to get familiar with that before you start the exam. So now that we know kind of a brief overview of like What are the main resources? I'll just quickly run through a bit more details about each, namely cost, um, how long, and usefulness of each one. First up was the TensorFlow in Practice specialization taught by Laurence Moroney and Andrew Ng, who are titans of TensorFlow. In fact, titans of artificial intelligence and machine learning. Incredible, incredible instructors. You might have seen some of their videos on YouTube. Now, the cost for this was about $59 US dollars. By the way, all the costs in this video are US dollars. And, well, it costs that much after a 7-day free trial, I believe. But you can apply for financial aid, and there are also equivalent versions of the videos on Coursera on YouTube. So, there'll be links to all of that below. Now in terms of helpfulness, as I said before, if I could only pick one resource for the certification, this would be it. The TensorFlow in Practice specialization. Not only is it great for the certification, it is phenomenal for just getting hands-on practice with TensorFlow in general. And so for me, it took, took a, I started about the 8th of May and I took the certification on June the 3rd. So it took me about 3 weeks. Now, I want to stress this, is that I have experience with TensorFlow and machine learning, so I was able to go through the projects relatively quickly. But if you're, if you're a beginner, as for all of these resources, you want to take as much time as possible because at the end of the day, you're not optimizing for getting a certification, you're optimizing for, for building skill. That's what you're, you're mostly after. And my puppy's saying hi. Sit. Sit. Come on. No, no, no. Oh. Alright. Yeah. Alright. Let's dance. Okay, well, it looks like Seven's going to be in my feet for the rest of this video. And so, where were we? Well, yes. Oh, the tip. It was please, please, please Not only take your time, take as much time as you need, but for the, for the coding projects, be sure to write the code yourself. And when you do the coding projects, you'll get these gaps that you'll have to fill in, but I found it extremely valuable is to write out the whole thing so you get familiar with writing the end-to-end project yourself. It does take longer, but what's important is to understand what's going on. In each line rather than just becoming an expert at just filling the gaps where someone else has built the structure for you. You should become that expert at building the structure and filling in gaps yourself. Now the second one is the hands-on machine learning book with scikit-learn, Keras, and TensorFlow. Wow, I had to— I was reading that from behind and that was kind of difficult. By Aurélien Goron. Amazing, amazing book. As I said, for the exam. Only Part 2, the part that covers neural networks, is related to the certification. But if you're, if you're a longtime machine learning practitioner and you want to, or you want to set yourself up with a solid foundation for the future, I highly, highly, highly recommend getting a copy of this book. Read it through. I've read it through. I read it through cover to cover. I was averaging about 25 to 30 pages a day because I would, I I would read an hour per day and then do 2 to 3 hours of practical work. I think that's a really good balance, is that whatever you're reading, try to balance that with the same, or watching videos, that is. So, if you watch 1 hour of video, do at least 1 hour of coding. If you read 1 hour of a book, do at least 1 hour of implementing what you've read. So, I rated this a helpfulness rating 7 out of 10, only because half the book is not related to the certification. But in terms of helpfulness rating for machine learning in general, this gets a 10. Now, the cost will vary depending on where you're from, but it's around about— I got the physical copy because I just like reading physical books. But yeah, it'll depend. It's around about $55 US. But you can see all of the code examples that come from the book for free on GitHub. Number 3 is the Introduction to Deep Learning by MIT or intro2deeplearning.com. Now this is the 2020 series, which is phenomenal. Let's just put it that way. Like the, the quality of these resources, we're talking world-class deep learning material, world-class university, all on YouTube, all for free. So again, I've rated this one a helpfulness level at 8 out of 10 only because some of it isn't related to the exam. But in terms of getting started with deep learning in general, um, I would highly recommend it. So it's going to get a, it's going to get a 10 for that. Um, I only watched the first 3 lectures and went through the TensorFlow lab that they did on GitHub myself, again writing out all the code, because they're the most— the first 3 lectures are the most relevant to the certification. Again, the serious student will want to not only go through all of the, all of the series, you'll want to put into practice what you've learned, much like the book. Number 4 was the Getting Started with PyCharm resources on the PyCharm website. And so this is, this is also free, but it's basically required. So when I went through the, the PyCharm resources I got, not only did I get familiar with PyCharm, just the interface, it's a little bit different than if you typically use Colab or a Jupyter Notebook. And I, I went through two TensorFlow tutorials on the TensorFlow website to make sure that TensorFlow worked on my local machine. So that's, that's definitely required. Get familiar with PyCharm before you take the exam. Now that we've covered the resources I used to, to learn the materials, um, I've kind of touched on a little bit of how I went through them But I just want to just go through a few things that you might want to— that you might be interested in, in terms of like studying tidbits. Let's, let's call it that, studying tidbits. So when I, as I said, I collected all of the resources that I needed. I went through the TensorFlow handbook, made sure I was aware of the criteria for the exam. This is kind of what I do for any project going forward is that I create like a base, a baseline ground truth, put it that way, in machine learning terms. I created ground truth for myself, and that is I've been using Notion. You could use almost any note-taking software or whatever. Notion just has a few cool things that you can do. And so when I was studying, I put down all the resources in my Notion document, created a curriculum, and then put them into a Kanban chart. So what that is, is it's kind of— it has 4 in a simple way. It has 3 columns. It was like not started, in progress, finished. And so, as I went through each section, so for example, I read a chapter of this, I would move it through in progress to finish. I went through a module of the TensorFlow in Practice specialization, I'd move it from not started to in progress while I was doing it, and then to finish. And then I worked through until I was pretty satisfied with what I'd learned. In terms of how it was related to the— had I gone through the criteria enough? That's what I was, I was going through this process. So, a little ritual I sort of created throughout May was every morning, get up, go for a walk, get some physical activity, get the brain working, do an hour of reading, do 2 to 3 hours of coding. So, going through the TensorFlow and practice specialization. Again, I can't stress that enough. Code, code, code, code. And then— now Seven's getting treats. Here, I'll let you out. There you go. I'm recording a video. Alright, now that Papi's out of the room, I should really take care of this before I start recording videos. Anyway, so the ritual I would do was walk for an hour in the morning, come home, or about an hour. Read, code 2 to 3 hours. And then once I'd finished a module, say for example, I finished the computer vision module of the TensorFlow in Practice specialization, I'd wrap it all up by watching the MIT deep learning lecture related to that module. So this kind of tribrid approach, I find I learn best from, I learn best from multiple different sources. You're probably similar. So if you have someone You might have some teacher explain something, you don't really understand it, but then you, you read it, you read it in a different way, and you understand it better, and then kind of you create your own knowledge through practice. So, that's how I approach things. In terms of going through all of this, how long should it take? Well, as I said, it took me about 3 weeks, but that being said, I have experience with using TensorFlow. So, whatever your timeline is, you want to adjust it for your, for your own level of knowledge. And of course, not everyone has the luxury of being able to study 4 to 5 hours a day. So, again, fit it into where you can. And remember, learning anything worthwhile takes time. Alright, you've done all your study. What happens with the actual exam? Well, The actual exam costs $100 US to take, and if you fail, well, you have to pay again, but you also have to wait 2 weeks before you can do that. If you fail again, you have to wait a little longer. And the timeline you have allocated for the exam is 5 hours. So, when you press start— oh, by the way, tidbit— when you sign up, when you register for the exam, it takes about an hour, well, it did in my case, for your Yeah, because you have to formally register, you have to scan your documentation. It takes about an hour for things to go through. So, if you're expecting to take it as soon as you sign up, you might have to wait a little while. So, that's— I was like, yep, I'm going to take it today. Here we go. What do we have to do? Oh, your ID has not been verified. I probably should have done this first, shouldn't I? Your ID must complete verification before you may redeem or attempt the exam. Great. So I had to wait an hour or so before I could start the actual exam. But once you do start the exam, once you hit start, officially hit start, a timer gets set up in PyCharm, and you've got 5 hours to complete the exam. Now, as I said, I made sure TensorFlow worked in PyCharm before I started, but I spent about the first You could have guessed it. Well, goodness gracious me, we got it fixed. Ran into the absolute epitome of TensorFlow errors just then. Turns out I had to get into the Python source code and change something in Python 3.7.3, which I have no idea why I would have to do that since yesterday it was all working. Here we go. This is the thread. I'll put the link somewhere. Now the exam stresses that you need Python 3.7, but for some odd reason, when I— I have Python 3.7— for some odd reason, I found myself for the first hour of the exam deep in a GitHub issues thread of TensorFlow trying to figure out what was going on. An error kept coming up every time I ran TensorFlow. It turns out I had to change a line, or specifically line 48 in line_cache .py to fix the error in the Python source code, that is. And now, uh, I'm not sure, I, I'm probably putting that down to some sort of user error. Maybe I've done something wrong, but once I implemented the fix I found on GitHub, everything worked fine. So if I didn't have that sort of roadblock at the start of the exam of trying to fix everything, I think it would have taken me probably under 3 hours. So the 5-hour time limit is so that you can train deep learning models on your computer, because the way you get marked is by submitting a trained model file, which gets automatically validated. So again, another tidbit here is that if your computer isn't fast enough to train a deep learning model— these are, these are not large models, they're quite small— but if it's still not fast enough to train it in that 5-hour time frame, You could train it on, on Google Colab, for example, download it, and then store that saved model file in the PyCharm directory that the TensorFlow Developer Certification creates for you once you start the exam. If all of this doesn't really make much sense, you'll— it'll be clear when you sign up for the exam and read the, read the instructions of how to complete it. Now, do I have any feedback for the exam? Like, how was it? Like, did I feel like it was testing my abilities? So probably my main piece of feedback would be, um, it would be great, and I know this is, it's only the first iteration, so it's no doubt going to, to be changed over time as these things go, because you get the certification, it only lasts 3 years. So going forward, if you want to recertify, if you want to resharpen your skills, you're going to have to take it again. But I would like to have seen it a little bit different to the, to the Coursera TensorFlow in Practice specialization. So if, if you're a keen student, you'll probably notice that the TensorFlow Developer Certification Handbook is basically, or the criteria for it is basically the outline of the TensorFlow Coursera TensorFlow in Practice Coursera specialization. That is a mouthful. So yeah, that is why I recommend that as being the number one resource that you should go through if you're looking to take the certification. As I said, the certification only focuses on the modeling part of a machine learning pipeline. Maybe in the future there'll be others on preprocessing, modeling, and then serving a model, but we'll see. So you finish the exam, what do you do next? Well, the first things first is that once you've submitted it, And you'll have a pretty clear indication as you go through as to how your progress is going, because for each module you submit, it gets marked fairly quickly and you get a score out of— I'm not going to ruin anything, but you just get a score for that and you'll know pretty, pretty quickly whether or not you're on track to pass the exam. So, once you go through, you get an email at the end. Once you click submit, you get an email which will say, "Congratulations, you've passed!" If you did, if not, that's okay. There's always, you can always take the second attempt, but you won't get much feedback. It'll just say, hey, you passed, or hey, you didn't pass. But within that email, there will be a form that you can go fill out that you can receive your official TensorFlow Developer Certification. This bad boy here. I actually just got mine this morning, so it takes about a week. And you can register to the Google Certified Developers Network. So what that means is that if someone is looking for a certified TensorFlow developer online somewhere in their region, they can search up your name and find you and go, hey, well, this person's, this person's got TensorFlow skills. They've taken the certification exam. They've proven that they can build things with TensorFlow. So I think that is pretty cool. And then once you get your certification, of course, and your badge and whatnot, you can share that on your professional network. You can share that, put it next to the projects that you've made on your portfolio. And that way, again, just as I said at the start, it's a nice to have. It's a nice thing to, to be able to stack next to other things that you've worked on to, to say, hey, look, I've got these skills, here's the proof. Finally, And most importantly, I don't know if you can see, but if you can't, there's a big, big checkmark here that says today, get TensorFlow certified. We're going to cross that right off. Boom, we're done. But as I said, it is not about the digital certificate or the badge. It's about acquiring the skills, the skills to use TensorFlow to build machine learning powered applications that enable the change you want to see in the world to happen. If you have any questions about any of the resources, how I study, how I created my curriculum, or the actual exam itself— I can't share too much about that— leave a comment below and I'll answer it. But don't forget to check out all of the resources, including the curriculum that I created in Notion. Try creating out one of your own by clicking the duplicate button. They'll be in the description below, as well as a full blog post detailing all of the information we've talked about. As always, keep learning, keep creating, and I'll see you next time.
More from Daniel

Small Language Models (SLMs) Are the Future: Fine-Tuning AI That Runs on Your iPhone

Introducing Sunny - A MedGemma-Powered Skin Health Tracking App (Kaggle Competition Entry)

Benchmarking: NVIDIA DGX Spark & NVIDIA RTX 4090 | Part 4 - Comparing the results

Benchmarking: NVIDIA DGX Spark & NVIDIA RTX 4090 | Part 3 - Running LLMs on the RTX 4090

Benchmarking: NVIDIA DGX Spark & NVIDIA RTX 4090 | Part 2 - Formalizing the tests

Benchmarking: NVIDIA DGX Spark & NVIDIA RTX 4090 | Part 1 - Creating a series of tests

Local Multimodal RAG on the NVIDIA DGX Spark | Part 4 - Publishing our demo to Hugging Face

Local Multimodal RAG on the NVIDIA DGX Spark | Part 3 - Putting it all together


