之前跑大量的深度学习代码时,用的 tensorflow 的版本比较古老,但若直接更新则会使得我们原本大量的代码需要重新编写,才能在本电脑上运行。因此可以选择另一种方式来进行 “更新”:在原基础上,再配置一个 Python 的完整环境,并在里面安装 tensorflow-gpu 2.0.

本实现方式参考了网上的一些教程(在文章的末尾有参考链接),并且是建立在安装 Anoconda 的基础上。


创建新环境

在开始菜单中,打开 Anoconda 的命令行窗口,Anoconda Prompt

然后输入下述命令创建新的环境(下述命令中 tf2.0 表示环境名称,可以任意设置;python=3.7 也可以根据自己的需求定):

conda create -n tf2.0 python=3.7

输入完成后,只需耐心等待相关包的配置即可完成安装。


激活环境

创建完成后,输入下述命令,即可进入到新的环境中去,目的是为了配置现有环境。

activate tf2.0

配置环境

激活环境后,我们就要配置 tensorflow-gpu 2.0 以及相应的 cuda 版本。

activate tf2.0

1) 安装 tensorflow-gpu 2.0

使用 pip 安装 tensorflow-gpu 2.0,如果觉得安装速度过慢,推荐使用:pip(国内镜像)快速安装Python库 中所述的方式进行安装(豆瓣比清华更稳定一些)。

pip install tensorflow-gpu==2.0.0

2) 配置 cudacudnn

为避免采坑,重要的事情说三遍:
用下述命令同时安装 cudacudnn
用下述命令同时安装 cudacudnn
用下述命令同时安装 cudacudnn

若不同时安装,有时候会出现一些比较麻烦的事情,这里就不细说了。

conda install cudnn=7.6.0 cudatoolkit=10.0

其它版本不太确定,但是上述版本是亲测能够无 bug 运行的。

3) 安装 spyder (可不装)

主要是用惯了 spyder,所以可以直接用下述命令装最新版本的 spyder(这里注意,要用 conda 命令装,不能用 pip,后者依赖装不全):

conda install spyder

退出环境

最后除了直接关掉 Anoconda Prompt 窗口外,也可使用下述命令退出我们刚刚激活的 tf2.0 环境.

source deactivate

退出环境前的测试

这里的案例用的是 tensorflow 官网的 GAN 的案例,若想要成功运行,需要先使用 pip 安装好三个依赖库:imageiomatplotlibpylab

代码参考:TensorFlow-Learn-TensorFlow-Core-Tutorials: 深度卷积生成对抗网络,这里就不粘贴了,就贴一贴中途的一些结果,以及最后生成的 gif 图。(这里官方教学生成 gif 图给一个大大的赞!)

1 个 epoch :

DataPrefetcher 多个gpu 两个gpu_gpu

5 个 epoch :

DataPrefetcher 多个gpu 两个gpu_conda_02

10 个 epoch :

DataPrefetcher 多个gpu 两个gpu_gpu_03

20 个 epoch :

DataPrefetcher 多个gpu 两个gpu_tensorflow2.0_04

50 个 epoch :

DataPrefetcher 多个gpu 两个gpu_conda_05

最终合并的 gif 动图:

DataPrefetcher 多个gpu 两个gpu_双版本_06


参考