本书是由人工智能一线从业专家根据自己日常工作的体会与经验总结而成的,在对TensorFlow的基础知识、环境搭建、神经网络、常用技术的详细讲解当中穿插了自己实战的经验与教训。更与众不同的是,本书详细地解析了使用TensorFlow进行深度学习领域中常用模型的搭建、调参和部署整个流程,以及数据集的使用方法,能够帮助您快速理解和掌握TensorFlow相关技术,最后还用实战项目帮助您快速地学会TensorFlow开发,并使用TensorFlow技术来解决实际问题。
本书代码主要是在1.6版本的基础上进行开发的,同时兼容1.2~1.10的版本,并已得到验证。本书主要面向对TensorFlow、深度学习、人工智能具有强烈兴趣且希望尽快入门的相关从业人员、高校相关专业的教育工作者和在校学生,以及正在从事深度学习工作且希望深入的数据科学家、软件工程师、大数据平台工程师、项目管理者等。
TensorFlow实践经验之作,人工智能技术基础读本,轻松搞懂GAN\CNN\RNN等各式神经网络,真正完成AI从想法到产品的全过程
黄鸿波,珠海金山办公软件有限公司(WPS)人工智能领域专家,高级算法工程师,拥有多年软件开发经验。曾在格力电器股份有限公司大数据中心担任人工智能领域专家,且在多家公司担任过高级工程师,技术经理,技术总监等职务。曾带领团队开发过基于人脸识别技术的智能支付系统、推荐系统、知识图谱、智能问答系统等。擅长数据挖掘、机器学习、移动开发等专业领域,并拥有丰富的实战经验。
自从2016年初谷歌的AlphaGo战胜了世界围棋冠军李世石,人工智能和机器学习领域就变得异常火爆。其实早在半个世纪以前,人工智能领域的相关概念就已经被提出,经过了这半个世纪的不断发展,人工智能以及深度学习相关领域已经在工业界和学术界发生了颠覆性的改变。2017年2月11日,谷歌公司正式发布TensorFlow 1.0版本,由此开始,一段新的热潮被掀起。到目前为止,谷歌公司的TensorFlow版本已经更新至1.10版本,本书代码主要是在1.6版本的基础上进行开发的,同时兼容1.2~1.10的版本,并已经过验证,读者可以放心使用。
关于本书的使用
本书主要面向对TensorFlow具有强烈兴趣且希望尽快入门的读者,以及正在从事TensorFlow方面的工作且希望深入的读者。
本书一共有14章的内容,分为四个部分:
TensorFlow基础部分(第1章到第3章)
主要讲解了TensorFlow的基础知识(包括张量、运行图、Session等部分)、环境的搭建方法(包括Windows、Linux版本的环境搭建,以及Java版本的环境搭建)等。
TensorFlow神经网络基础和各种模型部分(第4章到第6章)
从基础的神经元开始,逐步讲解单层神经网络、多层神经网络、卷积神经网络、循环神经网络等,在每个神经网络中还讲解其附带的各种数据集、模型和变体,比如BP神经网络、AlexNet模型、LSTM等。通过这些内容,读者可以对神经网络等知识有初步认识,并能把握其整体脉络。
TensorFlow的常用技术(第7章到第9章)
主要讲解TensorFlow对于数据集的制作和处理,以及在TensorBoard的模式下可视化观察模型的各种参数变化,并讲解了支持向量机的概念。之所以把支持向量机放在这个部分,是因为支持向量机目前在深度学习领域是非常常用的,比如目标检测和分类任务。通过学习这一部分的内容,读者可以对TensorFlow在实际应用过程中的常用技术有一定的了解。
TensorFlow的实际应用(第10章到第14章)
主要讲解如何使用TensorFlow在实际生活中解决问题,并讲解TensorFlow打包发布的各种方法,以及在GPU环境下如何使用TensorFlow。另外,在这一部分,我们也讲到目标检测,读者可以将其思路用于实际工业生产领域当中。
初学TensorFlow的读者阅读本书时需要具有一定的Python基础,并建议从第1章开始,如果您有GPU版本的服务器或主机,则可以选择先看第13章,而不必阅读第2章;另外本书中含有一部分公式的推导,例如第6章循环神经网络会讲解关于BP神经网络的推导过程,这需要您有一定的数学基础,但是如果您看不懂数学推导也不会耽误对后面章节的理解和学习;如果您从事图像处理相关的工作和研究,可以着重看第5章卷积神经网络和第8章TensoFlow中的数据操作,通过这两章内容,我们可以建立自己的数据集,并将数据集应用到自己的模型中。如果您想了解各个公开数据集的相关信息,以及如何使用公开的数据模型,可以参考第5章卷积神经网络。
针对已经从事TensorFlow相关工作的读者,本书中含有大量的实例,以及作者在实际开发过程中的心得体会,并且循序渐进地讲解了公式推导部分,在讲解知识点的时候会推荐知识点,例如讲解RNN,同时会讲解为什么会使用RNN,RNN是由什么样的神经网络算法(BP神经网络)演变而来的,又在其中加入了什么样的内容(时序处理),以及这些算法的推导原理等。通过对一个网络的深入研究,能够使您在使用相关模型时了解其本质。
致谢
本书的顺利出版离不开大家对我的帮助。
在这里,首先我要感谢电子工业出版社博文视点的孙学瑛老师对我的信任及支持,正是由于孙老师的支持,才能有此书的顺利出版。其次我要感谢我的家人在我写书的这近一年时间内给我的支持和理解,尤其是我的妻子,在怀有身孕的情况下还帮助我分担了一些家庭中的琐事,使得我的写作能够顺利完成。
另外,还要感谢华中科技大学的胡中旭博士对本书关于神经网络及强化学习部分给出的建议和支持;感谢南京大学黄继鹏对于RNN部分写诗机器人的支持;感谢格力电器大数据中心的刘艳国帮助我实现了Android相关章节代码的调试工作;感谢韦家弘同学对于RNN相关内容的帮助和支持。
除此之外,本书还参考了网上的一些图例和部分代码,由于大多无法找到其出处,所以无法一一列举,在此表示感谢。
最后还要感谢所有在本书编写过程中给予我支持和帮助的人们,正是你们的帮助才使本书得以面世。
读者服务
轻松注册成为博文视点社区用户(www.broadview.com.cn),扫码直达本书页面。
下载资源:本书如提供示例代码及资源文件,均可在 下载资源 处下载。
提交勘误:您对书中内容的修改意见可在 提交勘误 处提交,若被采纳,将获赠博文视点社区积分(在您购买电子书时,积分可用来抵扣相应金额)。
交流互动:在页面下方 读者评论 处留下您的疑问或观点,与我们和其他读者一同学习交流。
页面入口:http://www.broadview.com.cn/34565
http://www.broadview.com.cn/book/120 建议一起参考这篇书中的代码
代码量有点少
书中的代码错误太多,作者肯定没有运行代码,书的页面入口显示“网页不存在”。
书还可以,但是hello world后面的第一个例子MNIST就通不过,里面错误很多,有些可以修掉,但有的就没办法了。比如:
train_step = tf.train_GradientDescentOptimizer(0.01).minimize(cross_entropy)
这个应该是:
train_step = tf.train.GradientDescentOptimizer(0.01).minimize(cross_entropy)
程序中sess没有定义,应该增加:sess = tf.Session()
我所能找到的都修完,程序仍然报错:
tensorflow.python.framework.errors_impl.FailedPreconditionError: Attempting to use uninitialized value Variable_1
发现是没有调用sess.run(init)。我怀疑,作者是不是故意弄了很多错误,以便读者在debug过程中学习?
我都没有动力提交勘误了。读到现在发现很多个,前面有lim h’(x),下面的变量是n,应该是x。
编辑有没有审阅啊???
代码在哪里下载