机器学习:完整配置TensorFlow开发环境

本节内容基于Windows 10搭建TensorFlow开发环境,分别部署tensorflow-cpu和tensorflow-gpu两个模式下的虚拟开发环境。

1、安装Anaconda

基于Windows系统的Anaconda安装包,可从Anaconda官网和清华大学软件镜像站下载。下载时需要注意选择与操作系统和Python版本适配的安装包,tensorflow2.6版本支持Python3.6~Python3.9。

图 1-4 适配不同操作系统的Anaconda安装包

基于64位Windows 10操作系统,需要选择图1-4所示的64-Bit Graphical Installer 安装包,该安装包支持Python3.9版本。

安装包下载完成,执行安装包在本地计算机安装Anaconda,安装过程需要注意选择自动添加环境变量检查项。如图1-5所示,检查该项后安装包会自动将安装路径注册到Windows系统变量,命令行窗口运行Anaconda时,不会出现找不到Anaconda问题。

机器学习:完整配置TensorFlow开发环境_第1张图片

图 1-5检查自动添加环境变量项

若忘记检查该项,可在安装完成后再配置环境变量。打开电脑—>属性—>高级系统设置—>环境变量,在系统变量Path变量下增加Anaconda的安装路径,若安装在D:\program目录下,则完整路径为:

D:\program\anaconda3\condabin

Anaconda安装和配置完成后,可以在系统的程序菜单找到Anaconda程序项,启动Anaconda即可。Anaconda已经把Python集成在内,因此就不需要再安装Python了。图1-6是Anaconda工作界面。

机器学习:完整配置TensorFlow开发环境_第2张图片

图 1-6Anaconda工作界面

在Anaconda工作界面可以创建虚拟开发环境,也可以使用Anaconda集成的各种工具软件。比较有用的是工具软件是Jupyter Notebook,它是一个可以在浏览器编写Python程序的工具。不过Jupyter Notebook并不是一个集成开发环境,在代码自动排版和编写、程序调试、项目文件管理、单元测试等功能要比集成开发环境弱一些,建议学习者在有条件的情况下,还是选用集成开发环境比较好,也能学到系统集成等更多知识。

安装Anaconda主要的任务就是创建两个tensorflow开发环境,一个基于CPU开发环境,一个基于GPU开发环境(GPU开发环境需要独立显卡支持),当然使用Anaconda也可以创建其它独立的应用开发环境。

下面主要介绍Anaconda虚拟开发环境创建、激活、查看、退出、删除命令。

创建环境命令

Anaconda提供了一个默认的base环境,也可以直接在base环境中开发应用程序。基于课程内容需要,我们创建tensorflow-cpu环境。创建环境的命令为:

conda create -n ENV_NAME python=x.x

其中,-n表示环境名称参数,ENV_NAME为待创建虚拟开发环境的名称,x.x表示该环境中python的版本是多少,例如想要3.9版本的python,就写python=3.9。

启动Windows命令行窗口,在窗口输入下面的命令:

conda create -n tensorflow-cpu python=3.9

若出现‘conda’不是内部或外部命令,也不是可运行的程序等信息,需要配置Anaconda系统环境变量。命令执行完成,名称为tensorflow-cpu的虚拟开发环境就创建成功了。

查看环境命令

若需要查看当前Anaconda有哪些虚拟环境,可以使用下面的命令:

conda env list

激活环境命令

该命令是常用的操作命令,使用该命令激活环境后,才能进入该虚拟环境进行编程。命令如下:

conda activate ENV_NAME

其中ENV_NAME是要进入的环境名称。进入成功后,一般可以看到命令行的最左端括号中也切换成了ENV_NAME的名称。另外,如果想要从一个环境A切换到另一个环境B去,也可以直接执行该命令,将ENV_NAME写为B即可。

退出环境命令

若需要退出当前虚拟开发环境,可以使用下面的命令:

conda deactivate

该命令直接退回到base环境。

删除环境命令

该命令需谨慎使用,因为该命令会删除虚拟环境下的所有数据。命令如下:

conda remove -n ENV_NAME --all

2、安装Python依赖包

在tensorflow-cpu环境下使用pip工具软件安装numpy、matplotlib、pillow、pandas、scikit-learn。

启动Windows命令行窗口,在命令行窗口输入激活命令,激活tensorflow-cpu环境。

conda activate tensorflow-cpu

tensorflow-cpu环境激活后,使用pip工具分别安装上述Python依赖包。安装建议使用清华大学镜像站。如安装numpy命令如下:

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple numpy

pip安装matplotlib时,会自动安装pillow包。

3、安装tensorflow-cpu版本

tensorflow分为两个版本,一个是CPU版本,一个是GPU版本。GPU版本充分应用了图形处理器的计算引擎,缩短模型训练的时间,GPU版本需要独立显卡的支持。

启动Windows命令行窗口,在命令行窗口输入激活命令,激活tensorflow-cpu环境。输入下面的命令安装tensorflow 2.6.0版本。

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple tensorflow==2.6.0

上面的命令将在本地安装tensorflow 2.6.0版本,默认安装是cpu模式。

安装完成,需要验证tensorflow 2.6.0是否安装成功。

启动Windows命令行窗口,使用conda激活命令激活tensorflow-cpu环境,进入Python环境。

C:\Users\lenovo>conda activate tensorflow-cpu
(tensorflow-cpu) C:\Users\lenovo>
(tensorflow-cpu) C:\Users\lenovo>python
>>> import tensorflow as tf
>>> print(tf.__version__)
2.6.0
>>>

4、安装tensorflow-gpu版本

我们把tensorflow-gpu安装到另外一个虚拟环境,这样做的好处是CPU版和GPU不互相影响。安装GPU版需要本地计算机配置支持CUDA的NVIDIA显卡,因为在搭建TensorFlow的GPU版本时,首先需要做的一件事就是安装其基础支持平台CUDA和其机器学习库cuDNN,然后在此基础上搭建TensorFlow GPU版本。

其次还要了解一下不同的TensorFlow版本所需要对应安装的CUDA和cuDNN版本是多少,因为在TensorFlow的GPU版本安装过程中,如果对应的CUDA版本和cuDNN版本不正确的话,是无法正常使用GPU来进行模型训练的。

创建conda虚拟环境,安装依赖包和CPU版本相同,这里就不再讲述了。建议GPU虚拟环境的名称为:tensorflow-gpu。

安装GPU版本之前,首先确认本地计算机是否配置了NVIDIA显卡,并且运算能力在3.5之上。要查看本地计算机显卡算力,可以直接去nvidia查看,网址如下:

https://developer.nvidia.com/cuda-gpus#compute

在安装tensorflow-gpu之前,还需要安装CUDA和cuDNN。CUDA (ComputeUnified Device Architecture)是显卡厂商 NVIDIA 推出的运算平台,它采用通用并行计算架构,该架构使 GPU 能够解决复杂的计算问题。cuDNN是指NVIDIA cuDNN,它是基于CUDA的深度学习GPU加速库,有了它才能在GPU上完成深度学习的计算。

安装CUDA

查看CUDA的版本,到NVIDIA网站下载对应版本的CUDA驱动程序。启动Windows命令行窗口,输入下面的命令:

nvidia-smi

该命令显示本地计算机NVIDIA显卡的配置信息。

机器学习:完整配置TensorFlow开发环境_第3张图片

 图 1-7 NVIDIA显卡的配置信息

从图1-7的NVIDIA显卡配置信息可以得到当前显卡CUDA的驱动版本是11.1。进入NVIDIA官方CUDA Toolkit下载页面:

https://developer.nvidia.com/cuda-toolkit-archive

在下载页面找到对应的版本:

进入下载详情页面:

机器学习:完整配置TensorFlow开发环境_第4张图片

选择与本地计算机操作系统适配的安装包下载。安装包下载完成,运行安装包安装CUDA Toolkit,安装过程一般采用安装包的默认选项即可,需要记住CUDA Toolkit的安装目录,后面安装cuDNN时,还需要进行配置。

下载cuDNN

进入cuDNN下载页面,在下载页面可以看到cuDNN版本与CUDA的版本对应关系,选择适配CUDA版本的cuDNN包下载。

解压cuDNN下载包,解压后的目录结构如下图:

机器学习:完整配置TensorFlow开发环境_第5张图片

将bin目录下的所有文件复制到CUDA安装目录computingtoolkit\v11\bin目录下。

将include目录下的所有文件复制到CUDA安装目录computingtoolkit\v11\include目录下。

将lib\x64目录下的所有文件复制到CUDA安装目录computingtoolkit\v11\lib\x64目录下。

上述复制路径仅供参考,具体路径还需要由安装的CUDA版本确定。复制完成后,还需要配置Path环境变量,将cuda相关路径添加到Path变量。配置路径可参考下图。

机器学习:完整配置TensorFlow开发环境_第6张图片

安装tensorflow-gpu版本

安装GPU版本之前,需要确定合适的tensorflow-gpu版本,因为不同版本适配不同的CUDA和cuDNN版本。进入ensorflow官网页面,查看适合本地计算机安装的tensorflow-gpu版本。

https://tensorflow.google.cn/install/source_windows?hl=zh-cn

页面相关内容如下图所示:

机器学习:完整配置TensorFlow开发环境_第7张图片

从上图可以看出,CUDA 11.1驱动适配tensorflow_gpu-2.4.0,Python版本为3.6~3.8。

启动Windows命令行窗口,输入下面的命令创建tensorflow-gpu虚拟开发环境:

conda create -n tensorflow-gpu python=3.8

输入激活tensorflow-gpu环境命令:

conda activate tensorflow-gpu

安装相关依赖包:

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple numpy matplotlib pillow pandas scikit-learn

安装tensorflow-gpu 2.4.0版本:

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple tensorflow-gpu==2.4.0

在安装过程中,若出现“ReadTimeoutError”,说明网络速度比较慢,换一个网络速度比较快的环境安装。或者设置超时时间:

pip --default-timeout=1000 install -i https://pypi.tuna.tsinghua.edu.cn/simple tensorflow-gpu==2.4.0

在安装过程中,若出现如下图所示的错误:

可使用pip单独安装termcolor:

pip install termcolor==1.10

在安装过程中,若出现下图所示的错误:

可使用pip单独安装wrapt:

pip install wrapt==1.10

验证tensorflow-gpu版本

使用conda命令激活tensorflow-gpu虚拟开发环境:

conda activate tensorflow-gpu

进入Python环境:

(tensorflow-gpu) C:\Users\lenovo>python

在Python环境,分别执行下面的语句:

>>> import tensorflow as tf

>>> print(tf.__version__)

若输出tensorflow的版本号,则说明tensorflow 安装成功,后面还要验证GPU是否能够正常使用。

在Python环境输入下面的语句:

print(tf.config.list_physical_devices('GPU'))

若输出“[]”,说明GPU设备没有启用,查看打印信息,输出了cusolver64_10.dll not found错误。CUDA11默认使用的是cusolver64_11.dll的文件,但是代码运行的时候却是需要cusolver64_10.dll文件,这可能是tensorflow-2.4.0的一个BUG,从网上下载cusolver64_10.dll,然后复制到CUDA安装目录computingtoolkit\v11\bin目录下即可解决该问题。或者直接修改cusolver64_11.dll名称为cusolver64_10.dll,然后重新启动命令行窗口,再次执行列出GPU设备的命令。若输出如下内容,说明GPU设备已启用。

5、配置Visual Studio Code开发环境

启动Visual Studio Code,打开命令面板,配置Python解释器为tensorflow-cpu或tensorflow-gpu虚拟环境的Python解释器。虚拟环境目录存储与anaconda目录下。

6、第一个tensorflow代码

启动Visual Studio Code,新建hello-tf.py文件,输入下面的代码:

import tensorflow as tf
print("hello tensorflow!,运行版本:{}".format(tf.__version__))

机器学习:完整配置TensorFlow开发环境_第8张图片

 

你可能感兴趣的:(深度学习与tensorflow,tensorflow,机器学习,python)