Win10 Anaconda安装tensorflow2.1

Win10已经安装了Anaconda,之前由于安装pytorch-gpu环境,也安装了cuda10.2和cudnn7.6.5,现在想在此基础上安装tensorflow2.1,安装过程中有点小坑,也折腾了半天时间,记录一下避免以后继续踩坑。

基础环境cuda10.2+cudnn7.6.5+anaconda

cuda、cudnn和anaconda的安装网上有很多教程,不再赘述

1.新建一个虚拟环境并激活

conda create -n tf2 python=3.7
conda activate tf2

2.安装tensorflow2.1

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

这里有几个地方需要注意:

1)使用pip安装,不使用conda,因为conda仓库更新比较慢;

2)tensorflow2.1版本默认包含了cpu和gpu模式,不用再单独指定,如果仅安装cpu模式或者gpu模式,可以写成tensorflow-cpu==2.1.0或者tensorflow-gpu==2.1.0;

3)使用清华源的镜像下载,否则速度太慢而且容易断,如果清华源下载也容易断(我们家的渣渣移动网络就是),可以在执行上述命令后找到镜像的地址,直接用第三方工具先把tensorflow包下载到本地,再从本地安装(本地安装把上面命令中的tensorflow==2.1.0替换成本地包的路径即可,后面依然使用清华的镜像,因为还要安装一些依赖包)。

3.打开python,输入import tensorflow as tf导入tensorflow

下面就遇到最蛋疼的问题了,导入时报错ImportError: Could not find 'cudart64_101.dll',提示找不到cudart64_101.dll库,没错,我安装的是cuda10.2版本,难道是版本太高了,tf2.1不支持?查了一下,果然是这样:

tf2.1版本支持cuda10.1,还没有能支持cuda10.2的版本,于是又在网上搜索了一番,最直接的办法是卸载cuda10.2,安装cuda10.1版本。但是我当时安装cuda和cudnn的时候也是废了老大劲了,而且也怕卸载了之后导入pytorch再出问题,于是就找有没有别的办法,后来看到有人说把cuda10.2安装目录(我的安装目录是C:\Program Files\NVDIA GPU Computing Toolkit\CUDA\v10.2\bin)下的cudart64_102.dll和cudart32_102.dll拷贝一份,分别改名为cudart64_101.dll和cudart32_101.dll,试了一下,竟然导入成功了

tf.config.list_physical_devices ('GPU') 

后面也简单写了几行语句测试,没有出现错误,但是毕竟是用的cuda10.2的动态库,不知道会不会有什么隐藏问题。所以如果之前没有装过cuda和cudnn,还是建议安装和tf2.1配套的版本。

另外可能会在导入 TensorFlow 时出现 DLL 载入错误 

ImportError: DLL load failed: 找不到指定的模块。
Failed to load the native TensorFlow runtime.

此时安装 Microsoft Visual C++ Redistributable for Visual Studio 2015, 2017 and 2019 即可正常使用。由于我的电脑已经安装了VisualStudio2019,所以导入时没有出现这个错误。

补充:

1. 在虚拟环境中进入ipython,导入tensorflow会报错,看了一下发现ipython进入的是base环境而不是当前的虚拟环境,所以无法找到虚拟环境中安装的包,需要在虚拟环境下手动安装一下ipython即可

conda install ipython

版本会自动与当前虚拟环境的python匹配

2. 在jupyter notebook中找不到对应的虚拟环境,需要在虚拟环境中安装ipykernel

conda activate tf2
conda install ipykernel
python -m ipykernel install --user --name tf2 --display-name tf2
conda deactivate

再重新打开jupyter notebook,可以看到tf2的虚拟环境

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值