两个月不到,我是如何从Python新手成长为谷歌认证TensorFlow开发者的?

作者:jcmp      发布时间:2021-05-04      浏览量:0
选自TowardsDataScience

选自TowardsDataScience,作者:Grady Matthias Oktavian,机器之心编译,编辑:Panda。

1、与 TensorFlow 的渊源

Oktavian 是一位爱学习的人。新冠疫情当前,在好奇心的驱动下,他阅读了大量相关的新闻和文章。有一天,他读到了一篇文章,其中介绍了一组研究者开发了一种根据 X 光片辨别普通肺炎和新冠肺炎的新系统。

这篇文章提到研究者使用了「人工智能」和「神经网络」。这引起了他的兴趣:如何才能训练出分辨不同 X 光扫描图像的系统?这个 AI 没有医学学位,却取得了超过 90% 的准确度!以此为契机,Oktavian 进入了深度学习领域。

实际上,他是在和朋友交流过 TensorFlow 和 Keras 之后才感到大开眼界的。然后他花了一天时间浏览相关文章,并看到了 Daniel Bourke 介绍自己如何获得 TensorFlow 开发者认证经历的文章。

因此,Oktavian 也决定挑战一番,但是他又担心时间不够,因为他很快就要开始工作了,而且差不多同时还要开始他的硕士课程。此外,他还没学过 Python。他真的能完成这一壮举吗?

他之前已经完成了精算学应用数学本科学业,也就是说他已经学过微积分、回归、时间序列和统计学。但是,他的 Python 技能几近于无,唯一学过的编程语言是 R。尽管 R 在处理数据相关工作时非常好用,但不幸的是 TensorFlow 开发者认证考试目前还不支持 R 语言。

Oktavian 在文中写道:「拿下这个证书对我而言具有里程碑意义,因为这样我就可以名正言顺地说自己是数据和 AI 爱好者了。」故事说完,进入正题。首先谈谈 TensorFlow。

TensorFlow 是什么?为什么应该学习它?

简而言之:TensorFlow 是一个得到广泛应用的机器学习软件库。

具体而言,TensorFlow 是一个免费的开源框架,支持用户开发端到端的机器学习和深度学习项目,覆盖从预处理到模型训练和部署的整个流程。该框架最早由谷歌大脑团队开发,在谷歌内部使用,现在已经得到广泛应用。

那么,我们为什么应该学习 TensorFlow 呢?因为它能做很多事,而且其应用的广泛程度超乎你的想象。很多时候,你甚至都不知道你在使用基于 TensorFlow 构建的服务。

你用过 Gmail 的智能回复吗?这是 AI 驱动的,能根据你的电子邮件内容给出 3 个回复建议。而它就是用 TensorFlow 构建的。

Twitter 时间线排序方法?WPS Office 的光学字符识别(OCR)?VSCO 给出的照片预设建议?它们都用到了 TensorFlow。TensorFlow 才问世四年多,就已经在我们日常使用的许多服务和产品中得到了广泛的使用。

TensorFlow 开发者认证考试是什么?参加该考试的成本如何?

TensorFlow 开发者认证考试是笔试而且必须用 Python 语言完成。在该考试中,我们可使用 Python 的 TensorFlow 库和 API。每次尝试的成本为 100 美元。如果你第一次挑战失败了,你可以在两周后再支付 100 美元重新考试。关于该考试支付和规则方面的详情可参看这个手册: https://www. tensorflow.org/site-ass ets/downloads/marketing/cert/TF_Certificate_Candidate_Handbook.pdf 。

考试大纲包含四个要点:使用 TensorFlow 构建和训练神经网络、图像分类、自然语言处理以及时间序列。考试必须在 Pycharm IDE 中完成。

阅读手册之后,Oktavian 开始规划他的学习路径,首先是学习 Python 语言,然后是熟悉 TensorFlow。

2、学习之旅:第一个月

那么,一个毫无 Python 经验的应用数学研究者是如何在两个月之内成为 TensorFlow 开发者的呢?下面是他实现目标的旅程。

第一个月,首先学习 Python。如何快速做到这一点呢?他做的第一件事是进入 hackerrank( https://www. hackerrank.com/domains/ python ),立即上手用大量 Python 问题进行练习。当遇到靠自己无法解决的问题时,就立马上网查找解决方案。如果还没找到,那就查看参考答案并尽力理解其中的概念。

他这样一直持续了两周。此时,他已能不靠任何参考答案就能解答大部分问题了,甚至还能解决那些难度更高的问题。

那么剩余两周时间他又做了什么呢?看教程。YouTube 上有很多免费 Python 教程。你没有听错。

不过他也警告说:如果你能参加正式的 Python 课程,进行更结构化的学习,那当然更好。

Oktavian 列出了在他的学习之旅中有所助益的三个视频。这些视频是免费的,也因此被低估了。而且,这些视频就算学完了也得不到任何证书。这三个视频如下:

尽管深入学习 Python 还是应该参加正式课程,但目前来说这三个 YouTube 视频已经足够了。提醒一句:你要自己动手写代码,在看视频的过程中也要自己不断尝试。

3、学习之旅:第二个月

Oktavian 在第二个月里学习了 Coursera 上的 DeepLearning.AI TensorFlow 开发者专业认证课程: https://www. coursera.org/profession al-certificates/tensorflow-in-practice 。该课程的讲师是来自谷歌大脑的 Laurence Moroney 和 deeplearning.ai 创始人吴恩达。

该专业培训共有四门课程,涵盖了考试大纲的四个要点。每门课程为期四周,但 Oktavian 每天学习一周的课,这是他那个月要完成的最优先事项。

完成每门课程后,他都会休息一天,顺便测试所学到的知识。在这一天里,他会试验代码,或以休闲的方式探索与该课程相关的想法。

总体来说,他完成每门课程的时间为 5 天。其中 4 天用来看课程材料,第 5 天用于休息和复习。这样,他用 20 天完成了这 4 门课程。

每个课程都有编程项目,而 Oktavian 也切切实实地探索了课程提供的代码。他经常花费几个小时时间来调试神经网络的超参数,以便尽可能得到最好的验证准确度。这样,就能在创建深度神经网络模型的试错过程中获得某种「直觉」。

有时候,课程会索引数据集、文章和未分级材料等外部资源。完成并通过课程并不一定需要学习这些外部材料,但 Oktavian 还是探索了大量外部材料。这些课程大都是面向实践的,吴恩达也有一些讲解直观和理论方法的视频。

4、其它材料

要通过这门考试,你不一定要按同样的路径进行学习。如果你不想花 49 美元来学这门课,Coursera 上还有其它一些值得学习的课程:

5、参加考试

结束所有课程后,Oktavian 花了四天时间复习课程,并重读了手册。在第二个月的第 25 天,他开始考试。

很显然,这里不会谈论考试内容的细节,但他给出了有关准备和参加考试的几点说明:

如果你都已经研究通透,也已经学会了考试大纲中列出的要点,那么应该就能通过考试了。手册中列出的大纲极具指导意义,你可以将其用作准备考试的学习指南。

至于硬件要求,Oktavian 考试使用的是一台 AMD 笔记本电脑,没有专用 GPU,仅在处理一个有大数据集的问题时用到了一次 Google Colab。你可以在自己的设备上训练几个模型测试一下,看看你的设备是否足够完成考试。更值得担心的问题是网速和网络稳定性,因为完成考试需要上传模型。

6、考试结果

考试结束后,基本马上就能收到是否通过考试的邮件。在两周时间内,Oktavian 便收到了官方下发的数字证书,还可以链接到自己的 LinkedIn 页面。

该证书的有效期为三年,所以他已经计划好 2023 年再考一次。他想,届时 TensorFlow 和深度学习领域肯定已历经巨大的发展进步,考试内容可能也将发生一些变化。

7、总结

对 Oktavian 而言,考证并不是终点,而是一个起点。Oktavian 表示:「通过这个考试是我真正意义上的第一个超越自我的里程碑,也让我进入了数据科学的大门。」

在当前大热的 AI 和数据科学领域,不乏「三天学会」、「七天掌握」、「 一个月精通 」的故事,不过像 Oktavian 这样因为疫情宅家无聊而用不到两个月时间从 Python 零基础到 TensorFlow 认证开发者的经历依然让人赞叹并羡慕。

参考链接: https:// towardsdatascience.com/ how-to-go-from-a-python-newbie-to-a-google-certified-tensorflow-developer-under-two-months-3d1535432284。