记录用Anaconda搭建Tensorflow1.13环境

上文才搭建好了Pytorch环境,这次获得了一篇论文源码,其中用到的是Tensorflow环境,为了复现论文结果,只好再搭建一个Tensorflow环境。

首先论文中给出的环境信息是,Tensorflow 1.13 以及 Python 3。这个提示太少了,以至于一不小心就会踩坑。

首先在Anaconda中创建了一个名为Tensorflow113_py36的新环境,从名字可以看出这个环境的Tensorflow版本以及python版本。


更新:如果电脑上已经安装好了Anaconda,安装Tensorflow只需要一条命令就解决

conda install tensorflow-gpu=1.13.1

注意别漏了后面的“-gpu”,不然就会安装成cpu版本。原文作者没说清是gpu还是cpu版本,但是从源码中看到使用到了GPU,因此安装gpu版。

有其他版本需求的,可以通过这条命令搜索所有支持一键安装的tensorflow-gpu版本

conda search tensorflow-gpu

执行后就会自动开始安装tensorflow-gpu以及所依赖的所有包,包括CUDA、cuDNN,不用额外操心。最后通过这篇博客中的方法测试即可:win10搭建tensorflow-gpu-1.13.1环境(含原生python和anaconda共存问题解决)亲测有效! | 码农家园

思考

Anaconda提供了一个完全隔离的环境,因此像下文这样哼哧哼哧往电脑环境里安装CUDA和cuDNN完全毫无意义,因为Anaconda里创建的隔离环境根本读取不到电脑里装的环境。这种教你往电脑本地装cuda和cudnn的方法也是网上大多数教学贴犯的经典错误,希望这种错误可以止于我的这篇文章。

会出现这种错误,归根结底是对Anaconda这种环境管理工具理解不深。有了Anaconda后,就不需要再往电脑里安装任何原生的python、cuda、pytorch等等乱七八糟的东西,一切都通过一条安装命令,安装到anaconda的隔离环境中即可,电脑系统清爽干净,只留一个Anaconda就可以。


(以下内容全部作废,以上面的正确做法为准)

1、下载Tensorflow

因为原作者对于python版本语焉不详,导致我踩到了第一个坑。我习惯性的用了python3.6版本,然后在使用pip install tensorflow-gpu==1.13.0命令时,开始报错

ERROR: Could not find a version that satisfies the requirement tensorflow-gpu==1.13.0

ERROR: No matching distribution found for tensorflow-gpu==1.13.0

然后后面还列举了一堆可供安装的tensorflow-gpu版本,都是从1.20版本开始往上,我不经怀疑难道服务器里已经下不到1.13版本的tensorflow了?在stackoverflow里也没有找到搜索结果,后来尝试把python版本提升到3.7以后,版本选择里才看到有1.13.0版本,真是稀奇。可以用这个pip命令查看某个包可供下载的全部版本信息。

pip install tensorflow-gpu==

"=="后面补全就是下载对应版本的包了。

另外注意,不要直接pip install tensorflow,这个下载的是用CPU训练的tensorflow。原文也没说清是tensorflow还是tensorflow-gpu,但是我看源码中用到了GPU,就猜测是下载tensorflow-gpu这个包。

2、下载CUDA

因为Pytorch里已经内置了CUDA,所以之前我并没有单独安装CUDA。这次为了Tensorflow训练,我需要单独下载一个CUDA包。CUDA版本和显卡驱动没有严格一一对应关系,显卡驱动越高越好,向下兼容CUDA版本。CUDA只是个工具包,一台电脑可以安装很多版本。

有的教程说可以用nvidia-smi命令或者在NVIDIA控制面板中查看自己电脑的CUDA版本,这个说法是不严谨的,这里显示的cuda版本只是【可安装的最大cuda版本】,不是电脑中【已安装的CUDA版本】。

通过查阅tensorflow支持的cuda版本的表格,得知我们tensorflow-gpu 1.13.0需要安装CUDA 10.0版本。对照表链接如下:

https://www.tensorflow.org/install/source_windows

CUDA 10.0的官方下载地址如下:

CUDA Toolkit 10.0 Download | NVIDIA Developer

安装时,会像驱动程序一样默认安装在C盘。如果想更改安装目录,选择“自定义”,然后更改安装目录,记得把不需要的勾勾去掉。

 进入cuda的bin目录下,在地址栏输入cmd,打开该目录下的命令提示行,输入

nvcc -V

 显示如下信息说明安装成功:

3、下载cuDNN

cuDNN是一个神经网络加速包,和CUDA版本需要对应。但是一个CUDA版本可能对应好多版本的cuDNN包,选择最新的即可。

cuDNN Archive | NVIDIA Developer(需登录nvidia账号才能下载)

我下载的是cuDNN v7.6.5,下载下来后是个zip压缩包。安装方式也很简单,解压缩后得到一个名为cuda的文件夹,把里面的文件夹(bin、include、lib)都复制到上面安装的cuda目录下,有覆盖提示就选是。(我第一次安装没有弹出重复文件需要替换的)

进入cuda中的extras\demo_suite目录下,在地址栏输入cmd,打开该目录下的命令提示行,输入bandwidthTest.exe和deviceQuery.exe检查是否安装成功:

两个都pass都即可说明安装成功。

4、测试

最后通过这篇文章提供的代码来测试CUDA和GPU是否可用:

win10搭建tensorflow-gpu-1.13.1环境(含原生python和anaconda共存问题解决)亲测有效! | 码农家园

更新:

似乎可以通过conda命令直接安装cuda和cuDNN,有待测试

conda install cudatoolkit=10.1
conda install cudnn=7.6.5
pip install tensorflow-gpu==2.3.0

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值