TensorFlow 如何入门,如何快速学习?

一 什么是TensorFlow

在开始学习TensorFlow之前,我想带大家对TensorFlow以及机器学习是什么,能做什么,有一个具体的了解。

机器学习脱胎于统计学原理,是通过计算机的方式来帮助人们对于很难总结的事物找到模式。其出自统计学但不完全属于统计学,机器学习是一本包含数据分析、统计学、通信和可视化等等主题在内的多科目综合学课。TensorFlow是一个用来进行机器学习模型建立的非常好用的框架。

TensorFlow自从2015年至今,已经有了六年的历史,在这六年期间,TensorFlow成为了全球范围内屈指可数的成熟的开源机器学习平台。其面向个人开发者、研究员、以及企业,提供全面灵活的开发工具。相比于其他平台而言,TensorFlow作为端对端的机器学习平台,它更见简单易用,更加灵活强大,更加能适应生产环境

在解答如何高效的入门TensorFlow之前,我们先了解一下TensorFlow的优势所在。

我们知道,机器学习可以大概分为训练部署两个部分。

对于第一部分也就是训练部分,TensorFlow支持包括python,swift,JavaScript在内的多种语言。为使用者提供了更多样的选择。

在部署方面,TensorFlow模型可以跑在不同的平台,支持服务器端部署的TensorFlow Serving, 支持Android,iOS和嵌入式设备等端侧平台部署的TensorFlow Lite,支持浏览器和Node 服务器部署的TensorFlow.js,以及包括C语言,Java 语言,Go语言,C#语言,Rust和R等多种语言。

二 学习TensorFlow较好的免费网站

对于想要学习TensorFlow的同学们,结合我自身学习的经验,我给大家推荐几个很好用的学习网站。

首先呢是TensorFlow的官方网站,作为TensorFlow的发行者,在TensorFlow的官方中文网站上已经上线了对于TensorFlow2.0的学习教程,其中囊括了视觉处理、自然语言处理、语音处理在内的等等课程。

但是官网的做事大家应该都了解,它的课程可以很好的帮助想要立即使用TensorFlow而不需要理解的科研人员等人,但对于想要深入了解TensorFlow并且进一步了解机器学习的人来说,TensorFlow官网的视频有些过于套路了。学习完官网的课程,你可能会掌握TensorFlow的一部分使用方法,但是对于脱离开其框架之后的机器学习处理却无从下手。而我们想要真正学会TensorFlow,远比要使用它难得多。

想要了解TensorFlow的基础设计,算法基础,我也帮大家找好视频课了!那就是斯坦福大学开设的如何使用TensorFlow做科研,和官网注重使用的风格不同,这门课结合结合机器学习的基本原理对TensorFlow进行很细致的讲解。想要看的同学可以去b站搜索相关视频,或者选择直接去油管查找。

对于喜欢找项目自己学习的童鞋,这里也提供一份git上的非常详细的TensorFlow实战项目,是由弗吉尼亚博士Torfi在git上发布的。暴躁的Torfi老哥上来把其他git上讲解TensorFlow的教程批评了一番,说那些教程都是为了做而做,各种跳入跳出,要不就是特别复杂,要不就是没有依据,浪费自己的时间也浪费了别人的时间。所以Torfi老哥做了自己的一个完整详细又不复杂的TensorFlow教程。

说实话,这款教程也是我在学习TensorFlow时使用过的,其中有着非常丰富的笔记详解,但是对于英语不是很好的同学可能不是很友好。英语好的同学或者有阅读英文文献想法的同学可以尝试一下,Torfi老哥做的内容还是真的很不错的。



其实英语不管好不好的同学,我都建议可以尝试看一下,一来是这个人做的笔记真的非常全面,二来呢是因为想要深入学习机器学习或者其他编程相关,阅读 英文原文都是跳不过的一步,早早踏出舒适圈可以为今后的学习打好铺垫。

二 书籍推荐

对于喜欢借助书籍学习的同学,我也有一本比较好的入门书籍推荐,是《机器学习实战:基于Scikit-Learn和TensorFlow》



这本书主要分为两部分,第一部分(第1~8章)涵盖机器学习的基础理论知识和基本算法,从线性回归到随机森林等,可以帮助你掌握Scikit-Learn的常用方法;第二部份(第9~16章)探讨深度学习和常用框架TensorFlow,手把手教你使用TensorFlow搭建和训练深度神经网络,以及卷积神经网络。

对于有一些python经验的同学来说,阅读这本书可能没什么难度。同时这本书中也公开了所使用的代码源码在git上,具体地址可以在书中找到。

四 我在学习机器学习过程中最常用的课程

除了上述课程外,在TensorFlow以及之后的机器学习的过程中,我使用最多而且觉得最好用的是贪心科技的机器学习课程。这套课程的核心内容均围绕机器学习,并通过案例的实战来加深对技术的理解。 其课程的内容旨在介绍AI及相关基础理论,让人们对深度学习及各系统有产生一定的认知,便于日后的求职。它既包含实战内容,同时也非常重视机器学习基础部分的讲解,可谓是非常全面了。

因为我本人当初学习机器学习最主要的目的就是为了求职,而贪心科技的这套课程很好地帮我解决了这个问题。和我们在网络上能找到的视频公开课不同,贪心科技的这门机器学习课程,由数学基础入手,到算法详解最后到案例实战,都有着十分详细的案例和笔记。它不断更新的实战案例,在我求职时给我打下了良好的基础。我个人使用后最直观的感受就是这些课件里面的案例研究准备得非常好,它们对于课后我们如何处理任何机器学习任务有指导性的作用。而课下的练习,以测试学生为目的,涵盖了目前为止可能已经涵盖的概念知识。它混合了计算机科学、控制论、哲学、经济学、生物学和混沌理论或模糊逻辑。

这套课程由专业的老师精心制作,有着爱好者自己出的教程所达不到的优势。就比如整套课程将所有内容根据难易程度分为基础和进阶两个阶段。在学习完基础后才可以进入进阶阶段的学习,避免了一部分人因为好高骛远等原因最终学习效率低下。这套课程吸引我的其中一点就是它涵盖的知识面广。其不仅包含有AI领域的算法问题,比如深度学习、NLP问题等等,也包括像是机器学习中诸如分类算法、聚类算法的讲解,同样也包括TensorFlow的使用详解。

这篇课程当初最为吸引我的就是它雄厚的师资力量全面的课程内容和良好的学习氛围

一 雄厚的师资力量

由海内外AI专家组建的教师团队,其中多个合伙人都是业内的自身工程师。比如在我上课时的导师就是亚马逊又名的工程师,李文哲李老师。他对于每一个问题都会举一反三的讲解,加深我们的记忆。对于算法或者公式中存在的推导问题,也会一步一步细致地给出解答。有着如此优秀的老师引领我入门,也是我能够快速上手TensorFlow包括之后其他机器学习框架的主要原因。而且有着专门的老师负责班级内教学,意味着在有问题的时候我们有了可以寻求帮助的对象。不用在网络大海中去寻找帮助了。及时又有效的解答问题,也帮助了我扫清了学习路上的障碍。



二、全面的课程内容

就像我之前在说的,机器学习是一门涵盖很广的学科,她包含着从数学基础到算法到编程等多个方面的内容。之前我所推荐的视频课几乎没有像贪心科技这门课程一样包含的如此全面,基础的数学知识,比如一元线性回归到多元线性回归、逻辑回归的梯度下降和最大似然,到朴素贝叶斯以及如何利用朴素贝叶斯生成模型和判别模型,这些基础又重要的课程,是我认为这门课中非常精华的部分。

通过对数学基础的学习,帮助我更好地理解了包括TensorFlow在内多种框架的具体基础,在程序出现错误时,能更快地凭借自己的理论知识找到bug。这一点还是非常爽的,因为不同于只是使用TensorFlow,我对于其是如何运作的都比较清楚,找起错误来自然是易如反掌。

另外贪心科技还通过和企业的合作,为学习的学生提供了符合市场人才需求的实战案例,像是情感分析项目、信用卡欺诈预测、点击率分析等案例,既可以帮助同学们更好地掌握机器学习,也可以帮助我们在未来求职的道路上有着远超同龄人的实战经验。在李老师的班级中,我也学习到了很多社会工作上的经验,在还没有踏上求职道路的时候就提前了解了计算机行业的工作状态和工作要求。这可能也是我求职如此简单的原因之一。

三、良好的学习氛围



此外就是,在贪心科技的学习过程中,有一群非常愿意学习的小伙伴们一起,陪着我度过了那段充实但也不乏枯燥的日子。我感觉,在学习的过程中有着这样一群志同道合的伙伴一起,是督促我继续前进的很大动力。大家在群里提出的问题,有时也会提醒我自己还有哪里不足需要学习,看见同学们都在努力学习,我也不好意思放松自己。最后我们这个班级的就业率达到了非常高的90%,这也可以说明贪心科技的这门课程的优势所在。

总之,机器学习是一门综合程度很高的学课,我希望大家在学习的过程中找到自身学习的方向,就业的奔着就业,科研主抓科研,找好适合自己的学习课程才是最好的。

发布于 2021-10-06 19:58