《Tensorflow-中文版.docx》由会员分享,可在线阅读,更多相关《Tensorflow-中文版.docx(51页珍藏版)》请在第一文库网上搜索。
1、简单粗暴TensorF1ow发布0.3betaXihan1i(W)2018年08月28日Contents前言22 TensorF1ow安装42.1 简易安装42.2 正式安装42.3 第一个程序63 TensorF1ow基础83.1 TensorF1ow1+183.2 基础示例:线性归114 TensorF1ow模型144.1 模型(Mode1)与层(1ayer)144.2 基础示例:多层感知机(M1P)164.3 卷积神经网络(CNN)184.4 循环神经网络(RNN)194.5 深度强化学习(DR1)244.6 自定义层*274.7 GraphExecution模式.285 TensorF
2、1ow扩展295.1 Checkpoint:变量的保存与恢复295.2 TensorBoard:训练过程可视化325.3 GPU的使用与分配346附录:静态的TensorF1ow366.1TensorF1ow1+1366.2基础示例:线性回归38Bib1iography42基于EagerExecutionBasedonEagerExecution本手册是一篇精简的TenSOrF1OW入门指导,基于TenSOrF1OW的EagerExecution(动态图)模式,力图让具备一定机器学习及PVthon基础的开发者们快速上手TensorF1ow0友情提醒:如果发现阅读中有难以理解的部分,请检查自己对
3、每章的“前置知识”部分是否有清楚的理解。答疑区-TensorF1ow中文社区“简单粗暴TenSOrF1oW”版面:https:/(如果您对本教程有任何疑问,请至TensorF1ow中文社区的该版面发问)PDF下教:https:/t6230GitHub:https:/ThishandbookisaconciseintroductiontoTensorF1owbasedonTensorF1ow,sEagerExecutionmode,tryingtohe1pdeve1opersgetstartedwithTensorF1owquick1ywithsomebasicmachine1earningan
4、dPythonknow1edge.Friend1yreminder:Ifyoufindsomethingdifficu1ttounderstandinreading,p1easecheckifyouhaveac1earunderstandingofthe*Prerequisites,partofeachchapter.Q&Aarea-TensorF1owChinesecommunity“AConciseHandbookofTensorF1owMforum:https:/PDFdown1oad:https:/GitHub:ContentsCHAPTER11-a刖S2018年3月30日,Goog1
5、e在加州山景城举行了第二届TenSorF1QWDevSummit开发者峰会,并宣布正式发布TensorF1ow1.8版本。笔者有幸获得Goog1e的资助亲临峰会现场,见证了这-具有里程碑式意义的新版本发布。众多新功能的加入和支持展示了TensorF1ow的雄心壮志,同时早在2017年秋就开始测试的EagerExecution(动态图机制)在这一版本中终于正式加入,并成为了入门TensorF1ow的官方推荐模式。TheeasiestwaytogetstartedwithTensorF1owisusingEagerExecution.-https:/www.tensorf1ow.org/get_s
6、tarted/在此之前,TensorF1ow所基于的传统GraphExecution的弊端,如入门门槛高、调试困难、灵活性差、无法使用Python原生控制语句等早已被开发者诟病许久。一些新的基于动态图机制的深度学习框架(如PyTorch)也横空出世,并以其易用性和快速开发的特性而占据了一席之地。尤其是在学术研究等需要快速迭代模型的领域,PyTorch等新兴深度学习框架已经成为主流。笔者所在的数十人的机器学习实验室中,竞只有笔者一人“守旧”地使用TensorF1ow0然而,直到目前,市面上相关的TensorF1ow相关的中文技术书籍及资料仍然基于传统的GraphExecution模式,让不少初学
7、者(尤其是刚学过机器学习课程的大学生)望而却步。由此,在TensorF1ow正式支持EagerExecution之际,有必要出现一本全新的技术手册,帮助初学者及需要快速迭代模型的研究者,以一个全新的角度快速入门TensorF1ow0同时,本手册还有第二个任务。市面上与TensorF1ow相关的中文技术书籍大部分都以深度学习为主线,而将TensorF1ow作为这些深度学习模型的实现方式。这样固然有体系完整的优点,然而对于已经对机器学习或深度学习理论有所了解,希望侧重于学习TensorF1ow本身的读者而言,就显得不够友好。同时,虽然TensorF1ow有官方的教学文档(作为一个计算框架的主要特性
8、,并弥补官方手册的不足,力图能让已经有一定机器学习/深度学习知识及编程能力的读者迅速上手TensorF1ow,并在实际编程过程中可以随时查阅并解决实际问题。本手册的主要特征有:,主要基于TensorF1ow最新的EagerExecution(动态图)模式,以便于模型的快速迭代开发。但依然会包含传统的GraPhExecution模式,代码上尽可能兼容两者;定位以教学及工具书为主,编排以TenSOrF1oW的各项概念和功能为核心,力求能够让TenSOrF1oW开发者快速查阅。各章相对独立,不一定需要按顺序阅读。正文中不会出现太多关于深度学习和机器学习的理论介绍,但会提供若干阅读推荐以便初学者掌握相
9、关基础知识;代码实现均进行仔细推敲,力图简洁高效和表意清晰。模型实现均统一使用TensorF1ow官方文档最新提出的继承tf.keras.Mode1和tf.keras.IayerS.1ayer的方式(在其他技术文档中鲜少介绍),保证代码的高度可复用性。每个完整项目的代码总行数均不过百行,让读者可以快速理解并举一反三;注重详略,少即是多,不追求巨细靡遗和面面俱到,不进行大篇幅的细节论述。在整本手册中,带“的部分均为选读。本手册的暂定名称简单粗暴TensorF1ow是向我的好友兼同学ChrisWu编写的简单粗暴1aTEX(我在编写这一技术文档时所学习的对象。本手册最初是在我的好友Ji-An1i所组
10、织的深度学习研讨小组中,由我作为预备知识的讲义而编写和使用。好友们的才学卓著与无私分享的品格也是编写此拙作的重要助力。本手册的英文版由我的好友ZidaJin(1-4章)和Ming(5-6章)翻译,并由Ji-An1i和笔者审校。三位朋友牺牲了自己的大量宝贵时间翻译和校对本手册,同时Ji-An1i亦对本手册的教学内容和代码细节提供了诸多宝贵意见。我谨向好友们为本手册的辛勤付出致以衷心的感谢。衷心感谢Goog1e中国开发者关系团队和TensorF1ow工程团队的成员们对本手册编写所提供的帮助。其中包括开发者关系团队的1ukeCheng在本手册写作全程提供的思路启发和持续鼓励,开发者关系团队的RUi1
11、i,PryceMu和TenSOrF1oW社群维护的小伙伴们在本手册宣发及推广上提供的大力支持,以及TensorF1ow团队的TiezhenWang在本手册工程细节方面提供的诸多建议和补充。关于本手册的意见和建议,欢迎在Xihan1i(雪麒)2018年8月于燕园CHAPTER2TensorF1ow安装TensorF1ow的最新安装步骤可参考官方网站上的说明(等多种操作系统,此处及后文均以主流的Python语言为准。以下提供简易安装和正式安装两种途径,供不同层级的读者选用。2.1 简易安装如果只是安装一个运行在自己电脑上的,无需GPU的简易环境,不希望在环境配置上花费太多精力,建议按以下步骤安装(
12、以WindOWS系统为例): 下载并安装PythOn集成环境AnaConda(Python3.6版本); 下教并安装Python的工DEPyCharm(Community版本,或学生可申请Professiona1版本的免费授权): 打开开始菜单中的AnacondaPrompt”,输入PiPinsta11tensorfIow0完毕。2.2 正式安装该部分包含了更多安装上的细节(如建立Conda环境),以及GPU版本TenSorFIoW的环境配置方法。2.2.1 安装前的环境配置正式安装TenSOrF1oW前,需要为其配置合适的环境。步骤如下:1 .检查自己的电脑是否具有NV工D工A显卡。如有,建
13、议安装GPU版本的TenSOrFIow,以利用GPU强大的计算加速能力,否则可以安装CPU版本。具体而言,该显卡的CUDAComputeCapabi1ity须不低于3.0,可以到NV工D工A的官方网站查询自己所用显卡的CUDAComputeCapabi1ity:2 .安装PythOn环境。此处建议安装AnaCOnda,这是一个开源的PythOn发行版本,提供了一个完整的科学计算环境,包括NUmPv、SciPy等常用科学计算库。当然,你有权选择自己喜欢的PVthon环境。注意截至本手册撰写时,TensorF1ow在WindOWS下的安装仅支持PythOn3.X版本;安装Anaconda时,可以选择将Anaconda目录添加到系统的PATH中(虽然安装程序不推荐这样做),这样可以直接在命令行环境下使用Anaconda的各项功能。当然,不添加的话也可以使用开始菜单中的AnacondaPrompt进入命令行的Anaconda环境。3.(针对GPU版本)安装NV工D工A显卡驱动程序、CUDA