1

My experience with the TensorFlow Developer Certification Exam

 4 years ago
source link: https://mc.ai/my-experience-with-the-tensorflow-developer-certification-exam/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client
PyCharm 2020.1 spash screen

With the specialization done, the last stop was practicing solutions. I chose to do my studying in PyCharm. The exam itself is also administered by a plugin in PyCharm , and you’ll need to download it if you don’t have it. I don’t regularly use PyCharm for my deep learning work but I have some familiarity with it. I figured this was a great way to prepare for any GPU errors and the like. To help me scope the learning process I made a list of things I could work on based on what I had little experience with. Some examples of these included using TensorFlow Datasets, Poetry generating LSTMs, and time series prediction in general. I spent most of my time here, as it took me several weeks of after-work study hours to go through everything.

Screenshot from the Candidate Handbook showing the list of items you could be asked to implement. Please check TensorFlow.org for the most up to date version of this list.

As a last step, I set-up my environment to mimic the testing environment to make sure everything would go smoothly. Before the exam I also had a Jupyter notebook server running. While you should be able to do all the work locally in the five hours, you are allowed to use other environments to prototype solutions — even on the cloud.

Summary (tl, dr:)

  • Read The candidate handbook (pdf)
  • Read Setting up your environment instructions (pdf) which is linked from within the candidate handbook
  • Do the TensorFlow in Practice course on Coursera.
  • Study: Address any concept that you don’t know from the handbook by building your own solutions using that concept (in PyCharm)
  • Set up a PyCharm environment with the exam specs so that you know everything should work on the exam.
  • Set up a fall-back environment (e.g. notebooks, Collab, even on a GCP or AWS VM) in case anything happens during the exam.
In cloud we trust. Taken from a blogpost by Sara Robinson on TF 2.0 deployment you can find here .

Doing the exam

I decided I was ready and I figured setting everything up would probably take an hour or two. I created an account on the exam website and submitted my ID and payment. I downloaded the plug-in, accepted the terms, and made sure my internet would hold up. Everything was set for launch.

I then had lunch.

Once I pressed that big [Start Exam] button the timer started counting down. There are a number of problems you need to solve in the five hour time frame and each question is harder than the one before. Some of the latter models are computationally intense, even on a GPU. Whenever I got to the point where I could train a solution, I’d start coding away on the next.

Eventually, I ran into a CUDA issue that seemed to be due to a mismatch of versions. Mild panic and long epochs ensued. I could update the exam environment but wasn’t sure if that would open me up to more issues. I wasn’t able to solve it in ten minutes time (and didn’t really feel like doing more under pressure) so I let my models train on my CPU. At this point, I was already 2.5 hours in.

There were also some minor issues such as the plugin not refreshing the screen with the submit button. I had to restart my IDE a few times. It was not terribly bothersome, as fixing issues is more or less part of normal development.

However, with these minor issues affecting my ability to troubleshoot I switched to the Jupyter instance I had kept running and used that for prototyping. This meant that I could still prototype models there while my PyCharm was powering away with tensors in the background.

Without giving away too much information, the exam does give a little bit of feedback so you know when your solution to a problem is good enough and you can move on. At around four hours in I felt confident with all of my solutions and got a wee bit complacent. I started to improve a model that did not score perfectly and due to now training on a CPU I spent a while on it. I overwrote my previous model in the process. You might have guessed it- the newer model performed worse and even reduced the previous score. Luckily for me, with about ten minutes left on the clock, I was able to submit another model which performed at the same level as the old one.

The not-so long wait afterwards

Directly after I submitted the exam I got an e-mail saying that I passed!

While the grading of the exam was instantaneous, It took a couple of days for the badge to roll in and a week for my name to pop up on the certified directory. I feel like this reflects that it’s probably not an automated process and that they’re still figuring out the best way to go about it.

No hooded Google sweater or stickers this time, folks

Closing thoughts

This style of examination suited me a lot more than taking a proctored exam. I find doing an exam while someone’s watching you on your laptop nerve wracking. I can’t do it. This was a pleasant experience even though the exam took five hours.

The fact that TensorFlow now has a certification did motivate me to learn a little bit more about it. I like having goals in mind when I study.

The expectation is that there’ll be more certifications in the future. I certainly hope so. There are a lot of fun advanced NLP topics they can cover and I feel that there are some elements in the greater TensorFlow ecosystem that would lend themselves well to this style of examination. To be continued, I guess.

Coming soon: advanced and expert-level certifications. Source here .

Good luck with your own TensorFlow journey and I hope you found this post useful. Let me know if you have any questions below.


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK