版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
代码语言:txt复制 本文链接:[https://blog.csdn.net/xiaosongshine/article/details/102373261](https://blog.csdn.net/xiaosongshine/article/details/102373261)
此篇教程参考自TensorFlow 2.0 Keras Crash Course,在原文的基础上进行了适当的总结与改编,以适应于国内开发者的理解与使用,水平有限,如果写的不对的地方欢迎大家评论指出。觉得文章有用的话麻烦点赞,想看原文可以点击链接kx上网访问。
0 序
TensorFlow经过四年的发展,逐渐成为深度学习与机器学习框架的霸主,市场占有率与用户都遥遥领先于其他竞争对手。下图为下图是KDnuggets网站对2018年的机器学习框架的使用做的一个调查统计。可以可以看出当时TensorFlow已经遥遥领先于其他竞争(Keras 是一个上层封装,底层调用的还是 TensorFlow),奠定了其深度学习霸主的地位。
如果想了解TensorFlow的发展史,可以查看笔者CSDN约稿文章:『王霸之路』从0.1到2.0一文看尽TensorFlow奋斗史
TensorFlow和Keras都是在4年前发布的(Keras为2015年3月,TensorFlow为2015年11月)。在深度学习时代这是很长的时间!
在过去,TensorFlow 1.x Keras存在许多已知问题:
- 使用TensorFlow意味着要处理静态计算图,对于习惯于命令式编码的程序员而言,这将感到尴尬且困难。
- 虽然TensorFlow API非常强大和灵活,但它缺乏完善性,常常令人困惑或难以使用。
- 尽管Keras的生产率很高且易于使用,但对于研究用例通常缺乏灵活性。
TensorFlow 2.0建立在以下关键思想之上:
- 让用户像在Numpy中一样急切地运行他们的计算。这使TensorFlow 2.0编程变得直观而Pythonic。
- 保留已编译图形的显着优势(用于性能,分布和部署)。这使TensorFlow快速,可扩展且可投入生产。
- 利用Keras作为其高级深度学习API,使TensorFlow易于上手且高效。
- 将Keras扩展到从非常高级(更易于使用,不太灵活)到非常低级(需要更多专业知识,但提供了极大灵活性)的工作流范围。
本系列教程综合了TensorFlow 2.0灵活方便与Keras简单好用的特点,使得开发人员能在几天的学习使用之后能掌握TensorFlow 2.0与Keras的简单使用。但是如果想真正掌握和理解深度学习技术,开发有趣好玩的应用,那么深度学习概念的学习是不可或缺的,需要读者自己花大量时间去学习和理解了。最后还是希望大家在学习深度学习开发中不要流于表面,更应该理解算法的意义与特点,而不是仅仅简单调用接口。这就是深度学习工程师与编程人员的区别了。
本系列教程包括三个部分:
- 环境准备
- TensorFlow使用指南
- Keras接口的使用
教程内容首发在我的知识星球:AI深度学习应用之路·几杯奶茶的价格学习掌握深度学习,欢迎点击访问。
1 环境准备
TensorFlow2.0正式版的安装可以参看笔者的详细安装教程:『TensorFlow2.0正式版』极简安装TF2.0正式版(CPU&GPU)教程,这里为了演示方便,只展示了TF2.0 CPU的安装。
我目前是在Windows10上面,使用conda管理的python环境,通过conda安装cuda与cudnn(GPU支持),通过pip安装的tensorflow2.0。经过尝试只是最简单地安装方式,无需配置复杂环境。
(关于ubuntu与mac版本的安装可以仿照此方法,因为conda支持多平台,应该没什么问题,如果大家问题多的话,可以评论,我后面会会更新ubuntu安装教程)
1.0 conda环境准备
conda是很好用python管理工具,可以方便建立管理多个python环境。后面安装的步骤里我也会介绍一些常用的conda指令。
conda 我推荐使用安装miniconda,大家可以理解为精简版的anaconda,只保留了一些必备的组件,所以安装会比快上很多,同时也能满足我们管理python环境的需求。(anaconda一般在固态硬盘安装需要占用几个G内存,花费1-2个小时,miniconda一般几百M,10分钟就可以安装完成了)
miniconda推荐使用清华源下载:https://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda/
选择适合自己的版本就可以,
- windows推荐地址:https://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda/Miniconda3-4.7.10-Windows-x86_64.exe
- ubuntu推荐地址:https://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda/Miniconda3-4.7.10-Linux-x86_64.sh
- Mac os推荐地址:https://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda/Miniconda3-4.7.10-MacOSX-x86_64.pkg
下以windows版本来安装miniconda作为演示,从上述下载合适版本,下载好后以管理员权限打开点击安装。
注意这两个都要勾选,一个是让我们可以直接在cmd使用conda指令,第二个是把miniconda自带的python3.7作为系统python。
安装好后就可以在cmd中使用conda指令了,cmd打开方式,windows键 R键,弹出输入框,输入cmd就进入了。也可以直接在windows搜索cmd点击运行。
下面介绍些cmd conda指令:
- 查看conda环境:conda env list
- 新建conda环境(env_name就是创建的环境名,可以自定义):conda create -n env_name
- 激活conda环境(ubuntu与Macos 将conda 替换为source):conda activate env_name
- 退出conda环境:conda deactivate
- 安装和卸载python包:conda install numpy # conda uninstall numpy
- 查看已安装python列表:conda list -n env_name
知道这些指令就可以开始使用conda新建一个环境安装TF2.0了。
1.1 TF2.0 CPU版本安装
TF CPU安装比较简单,因为不需要配置GPU,所以windows ubuntu macOS安装方式都类似,缺点就是运行速度慢,但是用于日常学习使用还是可以的。
下面以windows版本做演示:一下均在命令行操作
1.1.0 新建TF2.0 CPU环境(使用conda 新建环境指令 python=3.6表示在新建环境时同时python3.6)
代码语言:javascript复制conda create -n TF_2C python=3.6
当弹出 :Proceed (y/n)? 输入y回车
完成后就可以进入此环境
1.1.1 进入TF_2C环境
代码语言:javascript复制conda activate TF_2C
进入后我们就可以发现:(TF_2C)在之前路径前面,表示进入了这个环境。
1.1.2 安装TF2.0 CPU版本(后面的 -i 表示从国内清华源下载,速度比默认源快很多)
代码语言:javascript复制pip install tensorflow==2.0.0 -i https://pypi.tuna.tsinghua.edu.cn/simple
如果网不好的,多执行几次。然后过一会就安装好啦。下面我们做下简单测试。
1.1.3 测试TF2.0 CPU版本(把下面代码保存到demo.py使用TF_2C python运行)
代码语言:javascript复制import tensorflow as tf
version = tf.__version__
gpu_ok = tf.test.is_gpu_available()
print("tf version:",version,"nuse GPU",gpu_ok)
如果没有问题的话输出结果如下:可以看到tf 版本为2.0.0 因为是cpu版本,所以gpu 为False
代码语言:javascript复制tf version: 2.0.0
use GPU False