我是如何通过TensorFlow开发人员认证考试的?

全文共4806字,预计学习时长18分钟

 

我是如何通过TensorFlow开发人员认证考试的?_第1张图片

 

5月初,我决定参加TensorFlow开发人员认证考试。接着我学习了相关课程来提高自己的技能,并在几天前参加了认证考试。

 

不出意外,我通过了。本文将分享我是如何做到的,相信你一定也可以的。

 

TensorFlow是什么?

 

TensorFlow是一种开源数值计算框架,它允许开发人员预处理数据和模型数据(通常通过深度学习查找其中的模式)并将解决方案部署到世界各地。这就是谷歌用来支持其所有机器学习服务的功能,各位现在在使用的设备之前就有可能运行过某类TensorFlow。

 

通常情况下,各位会用很容易理解的Python(考试内容)或JavaScript(tensorflow.js)编写TensorFlow代码,并触发一系列用C语言编写的基础函数,这些函数将执行各位的指令(很多数值计算)。

 

好,现在我们已经知道了什么是TensorFLow,那么什么是TensorFlow开发人员认证呢?我们为什么要考它呢?

 

 

TensorFlow开发人员认证

 

TensorFlow开发人员认证是一种展示开发人员使用TensorFlow能力的方式。更确切地说,是展示开发人员使用TensorFlow(Python版本)为一系列任务构建深度学习模型的能力,比如回归、计算机视觉(在图像中查找模式)、自然语言处理(在文本中查找模式)和时间序列预测(根据一系列过去的事件预测未来的趋势)。

 

为什么想通过TensorFlow开发人员认证?

 

第一个原因是为了消遣,我想给自己来点挑战。此外还有两个正当的理由:

 

· 获得构建机器学习支持的应用程序所需的基本技能。

· 向未来雇主展示操作技能。

 

说到未来的雇主,Hacker News的Who's Hiring页面上的数据显示(该页面列出了软件开发人员每月的工作量),与其他深度学习框架相比,TensorFlow似乎遥遥领先。

 

我是如何通过TensorFlow开发人员认证考试的?_第2张图片

比较不同的深度学习框架在HackerNew’s的Who 'sHiring页面上的不同职位。

 

需要明确的是,付出努力获得的认证并不保证能找到工作。但在在线学习的世界里,技能日趋商品化,这是展现自己能力的另一种方式。通过课程学习基础知识,通过项目学习专业知识是个很好的补充,可以将其加入各位现有的个人项目列表。

 

那么我是怎么做的呢?

 

怎样准备考试?

 

我下定决心之后,就浏览了认证网站并阅读了TensorFlow开发人员认证手册,并进行了如下的课程设置。

 

需要注意的是,我在备考之前获得了一些用TensorFlow构建多个项目的实际操作经验。经验丰富的TensorFlow和深度学习从业者可能会发现自己可以用与我大致相同的速度(一共3周)完成以下课程,可能还会更快。

 

我是如何通过TensorFlow开发人员认证考试的?_第3张图片

图源:unsplash

 

初学者将需要花尽可能多的时间学习。记住,提高任何有价值的技能都需要时间。我列出了各种资源的时间表、所需费用(以美元计算)和帮助程度(通过考试),时间表是根据我的经验制定的。

 

1.《TensorFlow开发人员认证手册》(The TensorFlow Developer Certification Handbook)

· 时长:1小时

· 费用:免费

· 帮助程度:必需

· 链接:https://www.tensorflow.org/site-assets/downloads/marketing/cert/TF_Certificate_Candidate_Handbook.pdf

 

这是我们的首选。它概述了考试涉及的主题,需要反复阅读。如果是TensorFlow和机器学习领域的新手,有可能会对其中所有不同的主题感到恐惧。别担心,以下资源将帮助各位熟悉它们。

 

2.《Coursera平台上的实践专业化中的TensorFlow》(TensorFlow in Practice Specialization on Coursera)

 

· 时长:3周(高级用户)到3个月(初学者)

· 费用:免费试用7天后,每月收取59美元,可通过申请获得经济援助。

· 帮助程度:10/10。

· 链接:https://dbourke.link/tfinpractice

 

这是与考试相关程度最高的资源,通常也是TensorFlow的入门资源,《TensorFlow认证手册》和该专业化资源的大纲几乎是相同的。

 

它由劳伦斯·莫罗尼和安德鲁吴讲授,他们两位是TensorFlow和机器学习领域的知名人物。我很欣赏这种简短的视频形式,我们可以尽可能将精力放在实际操作案例上,每节结束时的多个代码笔记本是每个学习者都必须完成的。

 

关于练习编程的一点提示:不要只是填写代码中的空白,而是要自己编写整个程序。

 

3.《开始使用PyCharm》(Getting Started with PyCharm)

 

· 时长:3小时(这取决于计算机的速度)

· 费用:免费

· 帮助程度:10/10(必须使用PyCharm)

· 链接:https://www.jetbrains.com/pycharm/learning-center/

 

考试使用的是PyCharm,我在参加考试之前从来没用过它。建议各位在开始考试之前至少熟悉一下这种工具。为了让自己熟悉PyCharm,我观看了YouTube上面的相关入门视频,内容十分简单。

 

但主要测试是为了确保TensorFlow2.x可以正常运行,而且我的计算机可以长时间运行深度学习网络(我的MacBookPro没有Nvidia显卡)。它们都能在本地计算机正常运行,但我刚一开始考试就遇到了问题。

 

4.《使用Scikit-Learn、Keras和TensorFlow进行机器学习的实际操作(第二版)》(Hands-on Machine Learning with Scikit-Learn, Keras andTensorFLow 2nd Edition)

 

· 时长:3周(从头到尾读一遍,不做练习)-3个月(做练习)

· 费用:亚马逊上的价格各不相同,但我购买的复印本花了55美元。各位可以在GitHub上免费查看所有代码。

· 帮助程度:7/10(某些章节与考试无关)

· 链接:https://www.amazon.com/gp/product/1492032646/ref=as_li_tl?ie=UTF8&camp=1789&creative=9325&creativeASIN=1492032646&linkCode=as2&tag=mrdbourke-20&linkId=b943d05f3bad8bd604f66cdbb49d35ef

 

本书共有700多页,基本上涵盖了机器学习的全部内容,其中的某些主题与考试无关。但对于任何一个想为未来的机器学习打下坚实基础而不仅仅是为了通过考试的人来说,它都是一本必读之书。

 

如果各位是机器学习领域的新手,那么可能会发现本书一开始很难读懂。不用担心,也不要着急,学会任何有用的技能都需要时间。这么说吧,如果各位想了解本书的质量如何,我可以在早上上班的路上看第一版。我是一名机器学习工程师,我在工作中用到的都是在书中读到的内容。

 

第2版也没有什么不一样的地方,只不过是更新了最新工具和技术,也就是TensorFlow2.x(考试的依据)。如果各位只是想看与考试有关的章节,则需要阅读以下内容:

 

· 第10章:使用Keras的人工神经网络简介

· 第11章:训练深度神经网络

· 第12章:使用TensorFlow自定义模型和训练

· 第13章:使用TensorFlow加载和预处理数据

· 第14章:使用卷积神经网络进行深度进行深度计算机视觉

· 第15章:使用循环神经网络和卷积神经网络处理序列

· 第16章:具有循环神经网络和关注的自然语言处理

 

但是对于认真的学生来说,建议读完整本书并完成练习(也许不用完成所有练习,只需选择最感兴趣的那些练习)。

 

5.《MIT深度学习简介》(Introduction to Deep Learning by MIT)

 

· 时长:3小时(我只看了3堂课)-24小时(每堂课1小时,每堂课都有一个小时的复习时间)

· 费用:免费

· 帮助程度:8/10

· 链接:http://introtodeeplearning.com/

 

这是来自世界一流大学的世界一流深度学习信息,它是免费的。前3堂课,深度学习、卷积神经网络和循环神经网络与考试的相关性最高。但如果你很感兴趣,全部课程学下来也是很值得的。

 

一定要查看他们在GitHub上面提供的实验室和代码,尤其是关于TensorFlow的。再重申一遍,自己编写代码真的很重要。

 

我是如何通过TensorFlow开发人员认证考试的?_第4张图片

图源:unsplash

 

附加资源

 

· Coursera/YouTube上的deeplearning.ai视频——考试完全基于代码(Python代码)。如果各位不太确定什么是小批量梯度下降,可以搜索“deeplearning.ai小批量梯度下降”。

 

· TensorFlow文档——如果各位想要成为TensorFlow从业者,那么就需要阅读该文档。如果无法理解某些内容,请编写代码并自行注释。

 

· 在YouTube上使用TensorFlow编码(播放列表)——YouTube视频系列中的大多数TensorFlow在Coursera上的实践专业化课程也由同一位讲师讲授。

 

如何备考?

 

有了上面的资源,我整理了一个概念大纲。我用看板方法来明确需要完成的工作、各种资源和注释,各位可以通过点击“复制”按钮来制作自己的副本。

 

五月份的每一个早晨,起床后我都会写一些东西、散步、看1个小时机器学习实际操作手册、练习2-3小时TensorFlow(先上课,然后完成谷歌Colab上的所有编码练习),然后在每个模块结束时,我都会学习相应的麻省理工学院深度学习入门课程。

 

比如,我在完成TensorFlow的实践专业化课程的计算机视觉部分后,就会学习麻省理工学院的卷积神经网络(一种计算机视觉算法)课程。事实证明,这种三合一方法特别有效。

 

我在书中看到的概念会通过Coursera专业化课程中的代码示例所巩固,最终在麻省理工学院的视频中得到总结。

 

我从5月11日开始备考,6月3日参加了考试。通过我的记录(在大纲中)和手写的书签,我平均每小时可以学完20页,每2-3小时可以学完大约1周的课程内容。

 

最后,我在考试前几天下载了PyCharm,并确保自己之前浏览过的几个代码示例可以在本地计算机上运行。

 

我是如何通过TensorFlow开发人员认证考试的?_第5张图片

图源:unsplash

 

 

考试细节——实际考试过程中会发生什么?

 

考试费用:100美元(第一次考试不及格,必须2周之后才能再次尝试,之后不及格需要等更长的时间)。

 

时间限制:5个小时。如果没有在考试刚开始就犯错误,我认为自己会在3小时内完成考试。但是,多出来的那些时间是为了让考生有足够的时间在电脑上训练深度学习模型(所以开考前一定要确保它能正常运行)。

 

考试有什么题型?

 

我不会在这里透露太多,你可以去看看TensorFLow开发人员手册,就会对考试的主要部分有清楚的了解。这就是我想要说的全部了。练习手册中提到的每一种技巧(使用上述资源),各位会顺利通过考试的。

 

考试花絮

 

训练模型——如果计算机无法足够快地训练深度学习模型(提交训练模型是评分标准的一部分),可以使用免费显卡在谷歌Colab中训练它们,然后把它们下载下来,放到相关的考试目录中,通过PyCharm提交。

 

坏掉的Python解释器——备考材料强调考试需要Python3.7。一开始,我用的是Python3.7.3。即使TensorFlow在考试前一天还可以用PyCharm在本地计算机上正常运行,但出于某种原因,考试(自动为考生创建一个TensorFlow环境)开始之后,它就坏掉了。

 

也就是说,我每次运行一行TensorFlow代码,都会出现这样的错误:

 

 
RuntimeError: dictionary changed size during iteration

 

我无法确定这是考试安装的TensorFlow2.0.0版本,还是我自己使用的Python特定3.7.3版本。尽管如此,在对GitHub旧问题线程深度进行了一番咒骂和疯狂搜索之后,我发现了一个奇怪的修复程序,这意味着我必须更改正在使用的Python版本的源代码。

 

 
# Previous line 48 of lincache.py for mod in sys.modules.values():# Updated line 48 of linecache.py for mod in list(sys.modules.values()): # added list()

 

由于这是在考试过程中所采取的方法,它只是一种快速解决方案,所以我无法确定它从长远来讲是好是坏。

 

疯狂搜索期间,我还看到了另一种方法,只需更新/重新安装自己在PyCharm中使用的TensorFlow版本(比如将2.0.0版本换为2.2.x版本)。我试过这种方法,但是没用。作为使用PyCharm的新手,我怀疑是用户犯了什么错误。修复过后,我顺利地完成了考试。

 

 

考试过后会发生什么?

 

通过考试后,考生会收到电子邮件通知。考生只会收到“恭喜您通过考试”或“很遗憾,您此次未能通过考试”这两种反馈。关于考生是否有可能通过考试,他们自己会在考试过程中收到非常清楚的提示(每次提交的模型都会被打分)。

 

一定要填写邮件中的表格,以确保自己已经添加TensorFlow认证开发人员网络。

 

我是如何通过TensorFlow开发人员认证考试的?_第6张图片

一旦通过考试并填写邮件确认中的表格,几周后便可访问谷歌全球认证网络。

 

在这里注册意味着任何正在寻找技术熟练的TensorFlow开发人员的人都可以根据各位的认证类型、经验和地区来搜索你们。

 

最后,在几周内(我还没收到邮件),各位会收到一封含有正式的TensorFlow开发人员认证和徽章的邮件,大家可以将它们添加到自己曾经参加过的项目列表。

 

 

问题

 

我是如何通过TensorFlow开发人员认证考试的?_第7张图片

图源:pixabay

 

问:我可以只上课、看书和做练习吗?我真的需要证书吗?

答:当然可以。归根结底,你需要的是技能,而不是证书。有证书当然好,但也不是必须要有。

 

问:你说证书不是必须要有,那你为什么还要拿证书呢?

答:我喜欢挑战自己。给自己设定一个日期,比如“我6月3日要参加考试”,这样可以督促我学习。

 

问:我可以使用免费资源吗?

答:是的,当然可以。你可以通过阅读TensorFlow文档来学习所需的全部技能。事实上,每次我要做练习的时候,我都会逐字复制文档示例(每一行代码),练习逐行理解这些示例,然后看看自己能否写出这些代码。

 

问:为什么不去考Pytorch呢?

答:我很喜欢PyTorch。但是Pytorch没有认证,如果有的话,我也会去参加考试的。另外,熟练使用这两个框架(PyTorch和TensorFlow)的用户会发现,最近更新之后,这两个框架变得非常相似。如果要说有什么区别的话,TensorFlow在企业界具有优势。

 

问:我通过了考试,也在谷歌开发人员认证网络上进行了注册,接下来该干什么呢?

答:是时候开始大显身手了!用你学到的技能制作出一些你想看到的东西。别忘了分享你的作品,你永远不知道谁会看到。

 

一起分享AI学习与发展的干货

欢迎关注全平台AI垂类自媒体 “读芯术”

(添加小编微信:dxsxbb,加入读者圈,一起讨论最新鲜的人工智能科技哦~)

你可能感兴趣的:(人工智能,热点文章,AI,机器学习)