之前安装了tensorflow2.4版本,但是因为和1.x的部分代码不兼容,卸载了2.4版本,重新安装了1.14版本,但是安装错误ImportError: No module named tensorflow,发现是tensorflow1.14和之前装的CUDA11.0版本不对应,卸载了2.x再装1.x以后再装2.x太麻烦了,所以打算同时安装tensorflow 1.14和2. 版本
一、安装tensorflow-gpu1.14.0+python3.6.9+CUDA10.0+cudnn7.4
1. 安装CUDA10.0+cudnn7.4
复制下面链接到迅雷下载或者直接复制地址在网页里面打开:
CUDA10.0:https://developer.nvidia.com/compute/cuda/10.0/Prod/local_installers/cuda_10.0.130_411.31_win10
下载完成CUDA10.0后进行安装:
选中自定义安装,然后一直下一步,直到结束
配置环境变量:
检查系统变量Path里有没有这一条C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0\bin,没有的话添加进去
再检查下面的框是否有这两条:
CUDA_PATH C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0
CUDA_PATH_V10_0 C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0
没有的话添加进去
nvcc -V验证一下是否已经装好。
出现上图说明CUDA已经安装好
cudnn 7.4:
官网可能需要注册账号下载,不过注册很简单,按要求来就行
下载好压缩包解压缩,把里面的3个文件夹:
复制到CUDA的文件夹下:
直接覆盖就行
然后在系统环境变量的Path中,加以下路径
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1\lib\x64
这样就把cudnn也弄好了
2.使用anaconda创建虚拟环境
打开anaconda prompt
conda create -n tf1 python=3.6.9 (tf1是自己起的环境名,可以改成自己喜欢的)
按y安装完会出现下图:(应该是tf1,这是创建tf2环境时截的图)
根据提示,
输入conda activate tf1 激活环境
(提示的第二个conda deactivate 是退出激活的环境)
出现红框标的环境名,证明环境创建激活成功。
接着进行下面两步:
conda install jupyter notebook # 安装ipykernel模块
python -m ipykernel install --user --name tf1 --display-name "tf1" # 进行配置
完成以后会发现已经可以在jupyter notebook里使用:
3. 安装tensorflow-gpu1.14到“tf1”环境里
pip install tensorflow-gpu==1.14.0
安装完成后,检查是否成功:
或者打开jupyter notebook检查:
import tensorflow as tf
print('Tensorflow Version:{}'.format(tf.__version__))
print(tf.test.is_gpu_available())
到这里tensorflow 1.14就安装完成了
二、安装tensorflow-gpu2.4.0+python3.6.9+CUDA11.0+cudnn8.0
步骤和安装1.0几乎一样
1.安装CUDA11.0+cudnn8.0
流程和一相同
配置环境时改一下版本号就可以
2.用anaconda创建虚拟环境tf2
conda create -n tf2 python=3.6.9 # 创建一个python3的环境,名为tf2
conda activate tf2 # 激活tf2环境
conda install jupyter notebook #安装ipykernel模块
python -m ipykernel install --user --name tf2 --display-name "tf2" #进行配置
完成以后会发现已经可以在jupyter notebook里使用:
3.安装tensorflow-gpu2.4到“tf2”环境里
pip install tensorflow-gpu==2.4.0
检查是否安装成功:
三、切换tf1和tf2环境
更改系统环境变量,CUDA_PATH的v10.0/v11.0即可
用tf1就改成v10.0;用tf2就改成v11.0。
四、有可能出现numpy版本不对应问题
报错:AttributeError: module 'numpy' has no attribute 'integer',解决如下:
卸载当前numpy
pip uninstall numpy
下载对应版本1.16.0
pip install -U numpy=1.16.0 (对应tensorflow1.14版本)