我如何获得TensorFlow开发人员认证(以及如何获得的)

图片



5月初,我决定获得TensorFlow开发人员的认证。为此,我制定了培训计划以提高自己的技能,并在几天前(6月3日)完成了认证考试作业。原来,我成功通过了考试。



让我告诉您我是如何做到的,以及如何做到这一点。



等待。反正TensorFlow是什么?



TensorFlow是一个开放源代码的数值计算系统,它允许您预处理和建模数据(在其中查找模式,通常使用深度学习),然后将解决方案推广到世界各地。



Google使用TensorFlow支持其所有机器学习服务。最有可能在您阅读此内容的设备上以一种或另一种形式使用过TensorFlow。



通常,您使用TensorFlow在非常容易理解的Python(这是考试所需要的)或JavaScript(tensorflow.js)中编写代码,并且它运行许多用C编写的基本函数。这些函数执行您先前描述的命令(进行大量的数值计算) ...



所以现在我们知道什么是TensorFlow,但是什么是TensorFlow开发人员认证?您为什么会对它感兴趣?



什么是TensorFlow开发人员认证?



您可能已经猜到过,TensorFlow开发人员认证是一种证明您使用TensorFlow的能力的方法。



具体来说,您可以在为一系列不同任务构建深度学习模型时使用TensorFlow(Python版本):回归分析,计算机视觉(图像中的查找模式),自然语言处理(文本中的查找模式)和时间序列预测(预测未来)根据过去的一些事件得出的趋势)。



为什么需要TensorFlow开发人员证书?



这样做的第一个原因很有趣。我想给自己的工作带来一些挑战,并找到理由阅读我购买的新书(稍后会详细介绍)。



但是还有两个更好的理由:



  1. , , .
  2. .


谈到未来的雇主:根据Hacker News的Who's Hiring页面(列出每月选择的软件开发人员工作的页面)中的数据,TensorFlow似乎领先于其他深度学习框架。



图片



根据Hacker News的Who's Hiring页面上不同工作出版物中提到的频率,对不同的深度学习框架进行比较。注意:从TensorFlow 2.x开始,Keras本质上是TensorFlow的一部分。注2:由于当前的全球形势,任何软件开发人员的总体招聘率都在下降。



我想澄清的是,带薪证明并不保证能找到工作。但是,在在线学习的世界中,技能变成了商品,这是另一种展示您的能力的方式。



我认为这是对您正在从事的个人项目的现有列表的愉快补充-课程形成基础知识,项目形成特定知识。



那么,这一切如何完成?



如何准备考试



当我认为自己有兴趣时,我访问了认证计划网站并阅读了《 TensorFlow开发人员认证指南》。



通过这两种资源,我建立了课程。



该课程反映了我为发展通过考试所需技能所学的知识



应该注意的是,在我准备考试之前,我有一些动手使用TensorFlow构建多个项目的经验。



经验丰富的TensorFlow或深度学习从业人员将能够以与我大致相同的速度(总共3周)完成下一个培训计划(可能更快)。



初学者可以根据需要花费很多时间。记住:获得任何有价值的技能都需要时间。



我列出了每种资源的时间,成本(美元)和实用程序级别(通过考试)。时间是根据我的经验。



如果您想为自己创建课程,我建议您使用以下列表。



注意:会员链接用于付费资源。这不会为您改变资源的价格,但是如果您可以使用其中一种材料,我将获得其中一部分:我用这笔钱来创建这些材料。



1. TensorFlow开发人员认证手册





时间: 1小时。

费用:免费。

实用程序级别:必需。



此资源应该是您的第一站。它描述了考试中将涉及的主题。阅读它,然后再次阅读。



如果您是TensorFlow和机器学习的新手,则很可能会阅读它并被各种各样的事情吓倒。别担心。以下资源将帮助您熟悉它们。



2. TensorFlow Coursera



时间:从3周(高级用户)到3个月(初学者)。



费用: 7天免费试用后,每月59美元,您可以要求财务支持。如果您无法访问Coursera,请在YouTube上查看等效的免费版本



实用程序级别: 10/10。



这是与考试最相关的资源(通常是TensorFlow入门)。细心的聆听者会注意到《 TensorFlow认证指南》,并且此专业的概况几乎相同。



他由Lawsence Moroni和Andrew Ng教,两个TensorFlow泰坦和机器学习,如果我只选择一种资源来准备考试,那么这门课程就是。



我赞赏简短的视频格式,并尽快关注实际示例。每个部分末尾的大量代码文件对于任何在实践中学习的学生都将大有帮助。



编程练习提示:不要只是在代码中填空,而是自己编写所有内容。



3. 使用Scikit-Learn,Keras和TensorFlow 2nd Edition进行动手机器学习





时间: 3周(不做任何运动就从封面到封面地阅读)到3个月(不做运动从封面到封面地阅读)。



成本:亚马逊上的价格有所不同,但我以55美元的价格购买了纸质版本。可以在GitHub上免费查看所有代码



有用性: 7/10(仅因为某些章节不是考试专用的)。



一本700页以上的书涵盖了计算机培训的几乎所有方面,因此,涉及与考试无关的一些主题。但这是对有兴趣为学习机器学习的未来打下坚实基础而不仅仅是通过考试的任何人的必读。



如果您是机器学习的新手,那么您很可能会在开始时很难读这本书。同样,不用担心,您无处可寻,学习有用的技能需要时间。



只是说一句:如果您想对这本书的质量有所了解,我是在早上以机器学习工程师的身份阅读第一版的。我可以说,在工作日里,我最常阅读的书很方便。



第二版没有什么不同,除了它已更新以涵盖最新工具和技术(即TensorFlow 2.x)-考试所基于。



如果您只需要与考试相关的章节,则需要阅读以下内容:



  • 第10章:Keras人工神经网络简介
  • 第11章:训练深度神经网络
  • 第12章:使用TensorFlow进行自定义模型和培训
  • 第13章:使用TensorFlow加载和预处理数据
  • 第14章:使用卷积神经网络的深度计算机视觉
  • 第15章:使用递归和卷积神经网络进行序列处理
  • 第16章:使用递归神经网络的自然语言文本处理和注意


但是对于认真的学生,我建议您阅读整本书并进行练习(也许不是全部,但最符合您的兴趣)。



4. 麻省理工学院深度学习简介



时间:从3个小时(我只看了3堂课)到一天(每堂课1个小时,外加一个小时的复习时间)。



费用:免费。



实用级别: 8/10。



来自世界一流大学的世界一流的深度学习课程。我忘了提到它是免费的吗?



前三堂课,涉及深度学习(概述),卷积神经网络(通常用于计算机视觉)和递归神经网络(通常用于文本处理)的部分对于考试最为重要。



但是同样,勤奋的听者完成整个课程将是有益的。



请务必查看GitHub上的实验及其提供的代码,尤其是TensorFlow简介再说一次,我无法完全表明自己编写代码的重要性。



5. PyCharm入门





时间: 3小时(取决于计算机的速度)。



费用:免费。



帮助级别: 10/10(必须使用PyCharm)。



该测试在PyCharm(Python开发工具)中进行。我在考试前从未使用过PyCharm,建议您在开始考试之前至少熟悉一下PyCharm。

为了了解PyCharm,我在YouTube上观看了一系列介绍性视频,它们非常简单:“这是此按钮的作用。”



但是主要测试是检查TensorFlow 2.x是否正常运行,以及在合理的时间内使用深度神经网络的能力(我的MacBook Pro没有Nvidia GPU)。



为了测试这些方面,我将以下两个TensorFlow教程复制到了本地计算机上:



  1. 使用TensorFlow进行图像分类
  2. 使用TensorFlow对文本进行分类


但是,正如我们将在下面看到的那样,一旦我开始参加考试,就会遇到问题。



另外



来自Coursera / YouTube上deeplearning.ai的视频 -该考试涉及执行编程任务(您需要编写Python代码),但是如果您想知道所编写代码的幕后情况(线性代数,微积分),我希望这些视频。例如,如果您不知道什么是mini-batch梯度下降,请搜索“ deeplearning.ai mini-batch梯度下降”



TensorFlow文档 -如果要成为TensorFlow的从业者,您需要能够阅读该文档。如果您不了解某些内容,请编写代码并自行注释。



在YouTube上使用TensorFlow编程(播放列表) -YouTube视频中带有Coursera的大多数TensorFlow专业化课程都是由同一位讲师讲授的。



我如何准备考试



有了以上资源,我就在“概念”中制定了一个计划



图片



我在Tenion上的TensorFlow开发人员认证计划。为了跟踪需要完成的工作,我使用了看板技术以及各种资源和说明。如果您点击链接,则可以通过单击右上角的重复按钮来制作自己的副本。



在五月的每个早晨,我起床,写书,走路,看书《 Practical Machine Learning》一小时,在TensorFlow的实践中工作了2-3个小时(首先观看了讲座,然后在Google Colab中进行了所有编码练习),在每个模块的最后,观看了麻省理工学院相应的深度学习入门讲座。



例如,在完成TensorFlow实用专业的“计算机视觉”部分后,我立即观看了MIT的有关卷积神经网络(一种计算机视觉算法)的讲座。



事实证明,这种三重方法特别有效。



本书中学习的概念通过Coursera专业化的代码示例得到了加强,并最终在MIT的视频中进行了总结。



为了了解时间安排,我从5月11日开始准备考试,并于6月3日通过考试。



根据我的观察(按照概念)和手写的书签,我平均每小时学习20页,并花了大约1周的课程内容进行了2-3个小时的学习(不分神)。



最后,在考试前几天,我下载了PyCharm,并确保我研究的一些代码示例可在本地计算机上运行。



详细信息-考试本身会发生什么



那么,您完成培训了吗?怎么办?



好吧,让我们从两个重要因素开始。



考试费用: $ 100(尝试失败后,您将需要等待2周才能再次尝试,每尝试一次失败,等待时间就会增加)。



时间: 5小时。如果不是在考试开始时犯错,我会说我会在3小时内轻松通过。但是,增加的时间限制将使您有足够的时间在计算机上训练您的深度学习模型(因此,请确保在考试开始之前一切正常)。



考试的工作方式



我不会在这里透露太多,因为这不公平。我要说的是阅读TensorFlow开发人员手册,您将对考试的主要部分有一个清晰的了解。



练习手册中提到的每种技术(使用上述资源),您就可以准备就绪。



考试的细微差别



模型训练 -如果您的计算机无法快速教授深度学习模型(评估标准的一部分是训练后的模型的呈现),则可以使用免费的云GPU在Google Colab中对其进行训练,然后将其放置在考试的相应目录中进行下载,通过PyCharm发送。



My Broken Python Interpreter-考试准备材料强调,考试需要Python 3.7。刚开始时,我有Python 3.7.3。出于某种原因,即使前一天TensorFlow使用PyCharm在我的本地计算机上工作,在开始考试(自动为您创建TensorFlow环境)后,事情还是坏了。



即,每次我至少运行一行TensorFlow代码时,都会收到错误消息:



RuntimeError: dictionary changed size during iteration


现在,我不确定这是考试安装的TensorFlow的版本(2.0.0),还是我安装的特定Python版本(3.7.3)。



但是,经过几次诅咒和关于GitHub问题旧线程的深入搜索之后,我发现了一个奇怪的修正,这意味着我将不得不更改所使用的Python版本的源代码(特别是lincache.py的第48行) ...



# 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开发人员网络中。



通过考试并在确认电子邮件中填写表格后,您可以在几周内访问Google Developers Certification Network



图片



注意:在撰写本文时,我还没有在那儿。这将需要1-2周。



注册意味着寻找有经验的TensorFlow开发人员的任何人都可以根据您的认证类型,经验和地区来找到您。



最后,在几周内,您将通过电子邮件收到正式证书和TensorFlow开发人员徽章(我尚未收到我的)。您可以将它们添加到您正在从事的项目中。



问题



我可以自己上课,读书和练习,我真的需要证书吗?



当然可以。最后,您应该以技能而不是证书为目标。拥有证书是很好的,但不是必需的。



如果您说不需要证书-为什么收到了证书?



我喜欢挑战并努力应对。分配日期(例如“我于6月3日通过考试”)使我别无选择,只能继续学习。



我可以使用免费资源吗?



你当然可以。您可以通过学习TensorFlow文档来学习所需的所有技能。实际上,当我需要练习某些东西时,我会复制文档中的示例(每行代码),练习理解每一行,然后尝试重复自己的见解。



为什么不使用PyTorch?



我爱PyTorch。但是他们不提供认证,如果他们提供了认证,我可能会通过认证(很有趣)。此外,这两个框架(PyTorch和TensorFlow)的资深用户都将注意到,最近的更新使这两个框架非常相似。此外,TensorFlow在企业界具有优势(请参见上图)。



我对机器学习一无所知,该从哪里开始?



阅读文章“初学者进行机器学习的5个步骤



我通过了考试并在Google Developers Certification Network上注册,下一步该怎么办?



现在该创造了!使用您所学的技能来创建您想要在世界上看到的东西。并且不要忘了分享您的作品,您永远不知道谁会看到它。



没说什么吗 随时发表评论或通过电子邮件提出问题。我会回答。



附言:如果您喜欢观看视频,我制作了本文的视频版本。





图片



通过参加SkillFactory的付费在线课程,了解如何从头开始或获得技能和薪资水平提高的详细信息:











All Articles