本方法优点
- 不需要逐个自己安装cuda, cudnn甚至vs2015等坑爹玩意
- 不会直接在自己电脑上装cuda,防止各种路径混乱之类。
- 可以多个cuda兼容操作
- 可以完美的在不影响已有tf1.0系列的情况下,完美使用tf2.0 对于绝大部分读者,第一条已经是足够的理由了,毕竟现在大部分的博客攻略还是大费周章的。
以我电脑为例,但本方法绝对不限于此种配置
系统Windows 10, 显卡1080Ti
前期准备
- 从英伟达官网更新显卡驱动至最新版本,以前受某些博客影响,担心驱动过新无法向前兼容。今天破釜沉舟之下发现, 最新驱动仍可以兼容Cuda9.0,因此不会导致以前的cuda无法使用。相反,最新驱动可以让你支持最新的cuda。
- 官网下载Anaconda3最新版本。根据本人经验,只要你想做python开发且是新手,迟早要下的。
- 打开 Anaconda Prompt。 (下完anaconda后自动会出现,开始菜单的Anaconda3可以找到)输入以下命令行创建新环境:
conda create -n tf2 python=3.6
这段代码的意思就是新创建一个名为tf2的python3.6环境。这是Anaconda广为使用的原因之一,很容易切换多个python版本。 紧接着运行activate tf2
,进入tf2环境。(成功的话会发现命令行前面括号里从’base’变成了’tf2’) - 下载tensorflow-gpu。这一步以tensorflow2.0为例, 继续在Anaconda窗口运行
pip install tensorflow-gpu==2.0.0-alpha0
。很快安装成功(速度太慢的话自行百度切换pip镜像源) - 依次运行
conda install -c anaconda cudatoolkit
和conda install cudatoolkit cudnn
。本来这两个东西是要自己去官网下载安装还要配各种path变量之类的。幸而,conda帮你完成了。 有几大好处:
- 极其省事
- 不需要配置变量名,防止出错
- 只下载了cudatoolkit,没有下载一整个,空间节约了三倍以上
- cuda下载在当前的虚拟环境(如这里的tf2)而非在C盘整个系统环境中。因此可以同时兼容多个cuda版本,环境间互不干扰
测试一下:可以直接在Anaconda Prompt里输入python
J进入python环境 然后运行
import tensorflow as tf
x = tf.constant([1])
如果没有报任何错误,那么已经成功配置! 重复上述操作,可以创建许多不同tensorf版本不同cuda版本的环境,来支持不同的版本的代码运行!
后话下午本着尝试tf2.0的心态,惊喜的发现了这一操作。相比去年安装cuda9实在是轻松了太多。然而现在还没有详细叙述这一方法的博文,因此本着分享的心态,以这篇博文志之,希望对需要帮助的有所裨益。所有问题都可以直接评论讨论,也可以邮箱联系lint17@fudan.edu.cn
。
tensorflow2.0的API修改有点多,目前来看文档太少,大家可以不急着升级。