2.5 安装TensorFlow
2.5.1 TensorFlow简介
TensorFlow是由Google大脑团队领导开发和维护的端到端机器学习平台,在Apache License 2.0许可证下开源。
事实上,TensorFlow已经成为目前最流行的机器学习平台,Github和StackOverflow社区参与人最多、最活跃,演进也最快,如图2-33所示。
图2-33 Github上的TensorFlow活动统计
开源软件若参与的人不多,演进速度和解漏洞的速度都会非常慢,久而久之就会消失在公众的视线。为了确保支撑自己应用的开源软件不会“死亡”,最好选择参与人数相对靠前的开源软件。
2.5.2 下载并安装
TensorFlow下载并安装的具体步骤如下。
第一步,从Windows“开始”菜单启动Anaconda Navigator,在Environments选项卡处单击tf_gpu,先激活虚拟环境tf_gpu;然后再单击tf_gpu右边的绿色箭头,在弹出菜单中选择Open Terminal,如图2-34所示。
图2-34 选择Open Terminal
第二步,在打开的Terminal(命令行终端)中输入命令:
conda install tensorflow-gpu=1.13.1
运行结果如图2-35所示。
图2-35 安装TensorFlow GPU 1.13.1版
conda会自动收集安装TensorFlow GPU版的全部信息,并自动生成安装计划。注意,一定要用“=1.13.1”指定TensorFlow的版本。若不指定TensorFlow的版本,conda会安装当前最新版。由于TensorFlow最新版没有被本书测试过,所以本书不保证安装TensorFlow最新版跟后续要安装的软件包是否会有版本依赖问题,但鼓励读者去尝试。
conda生成安装计划后,会列出即将安装的软件包,并询问是否继续。输入“y”,再按〈Enter〉键,告诉conda继续安装,如图2-36所示。conda接收到y指令后,会自动完成所有安装,无须用户操心。
图2-36 安装TensorFlow GPU版
在Anaconda环境下,通过一条命令“conda install tensorflow-gpu=1.13.1”一键完成TensorFlow GPU V1.13.1版本及其依赖库的安装,不用操心依赖库之间的版本对应问题,非常方便。
若不安装Anaconda,直接在Python环境中安装TensorFlow GPU版本,用户安装完TensorFlow GPU版本后,还需要手动安装cudatoolkit、cudnn、protobuf、h5py以及intel-openmp等依赖库,并且还要确认每个依赖库的版本与TensorFlow GPU V1.13.1版本的对应关系,非常烦琐。
2.5.3 测试安装
在成功安装TensorFlow GPU V1.13.1版本的命令行终端里面,输入第一个TensorFlow程序,如代码清单2-3所示,用于验证TensorFlow是否安装成功。
代码清单2-3 第一个TensorFlow程序
若得到如图2-37所示的结果,说明TensorFlow GPU版本安装成功。
图2-37 验证TensorFlow是否安装成功
2.5.4 pip install与conda install
熟悉Python并长期使用pip工具来管理Python软件包的读者,会有一个疑问:为什么本书使用conda install而不是使用Python世界里面最流行的pip install来安装TensorFlow呢?
众所周知,pip的确是Python官方(PyPA)推荐的Python软件包安装管理工具,在安装Python软件包时,第一反应应该是使用pip。正是由于pip是Python官方推荐的“正统”工具,所以pip只专注于Python软件包之间的依赖关系,不考虑Python软件包与非Python软件包之间的依赖关系。
而TensorFlow不仅依赖于Python软件包,还依赖于非Python软件包,如cudatoolkit、cudnn、intel-openmp、Intel®MKL及protoc等。
conda在安装TensorFlow时,会同时解决TensorFlow所依赖的Python软件包和非Python软件包的问题,让安装变得简单。
本书建议:若安装的Python软件只依赖Python软件包,则遵循官方推荐,使用pip install安装,例如安装opencv-python;若安装的Python软件不仅依赖Python软件包,还依赖非Python软件包,则使用conda install,例如安装tensorflow-gpu,简单方便。