1. tf1-gpu安装
注意
参考地址:https://www.e-learn.cn/content/qita/609443
注意不要同时运行多个python解释器,一定要把cpu版本的tf和之前安装的tensorflow卸载干净,确保conda list和pip list中没有cpu版本的tensorflow,最好把tensorboard等也卸载。
安装完成后,conda list查看一下,cudatoolkit=9.0 ,cudnn =7.6.5 ,tensorflow-gpu=1.12.0.
如果下面几个步骤的操作,很可能会提示无法找到dll,或无法加载tf的运行环境,或者缺少cuda。
不同版本的tf需要不同的cuda,我电脑上装了cuda92,而tf-gpu-12需要cuda90,,使用下面的步骤能解决cuda的冲突。最好不要动自己电脑上的cuda,不然可能丢失nvidia控制面板。
步骤
0、 conda create -n tf_gpu_120 python=3.6
创建环境
1、activate tf_gpu_120
,激活环境,安装开始前 先使用conda upgrade --all
升级所有的包
**2、**使用Python -m pip install --upgrade pip
或者conda upgrade pip
升级pip工具,这一步很关键,pip会更新到19+的版本,旧版的pip可能无法自动安装cudnn等python库,影响后续安装。
(下一步conda install tensorflow-gpu=1.12.0时, 会去安装python中的cuda9.0工具等
,这些工具不是英伟达那个几个G的cuda,是python为了便于tf再不同的机器上运行而开发的python库)
3、 使用conda install tensorflow-gpu=1.12.0
安装
(这里能够自动安装cudnn和toolkit,但是import的时候可能会有一个protobuf可能需要手动更新,请pip install protobuf==3.11.2
如果出现出现无法链接到libssl-1_1-x64.dll的情况,请查看Anaconda\DLLS目录下和Anaconda\Library\bin下的libssl-1_1-x64.dll 最后修改日期,你会发现两个不一致 解决方法是用旧的一个替换新的,替换之前先备份一下,问题解决。)
4、 测试
import tensorflow as tf
version = tf.__version__
gpu_ok = tf.test.is_gpu_available()
print("tf version:",version,"\nuse GPU",gpu_ok)
输出版本12和true。
2.tf2-gpu安装
注意
参考地址:https://blog.csdn.net/xiaosongshine/article/details/101844926
安装tf-2.0.0-cpu比较简单,安装过程会出现很多新的包的安装,有些慢。
tensorflow卸载干净,确保conda list和pip list中没有cpu版本的tensorflow,最好把tensorboard等也卸载。
安装完成后,conda list查看一下,cudatoolkit=10.0.130,cudnn =6.0,cudnn的版本反而比tf1-gpu中的cudnn版本低。
步骤
1、conda create -n TF_2G python=3.6
创建环境,conda upgrade pip`升级pip工具,旧版的pip可能无法自动安装cudnn等python库,影响后续安装。
2、conda activate TF_2G
激活环境
(然后在设备管理器里更新一下显卡的驱动程序(设备管理器-显示设备-显卡-属性-驱动程序-更新,安装完成并成功运行GPU计算代码后,gtx 1060显卡的驱动是25.21.14.1735,支持tf-2。0.0-gpu和tf-1.12.0-gpu,如果更新后有不兼容的现象,可以在同一个界面里回滚)。
3、conda install cudatoolkit=10.0 cudnn
安装cudnn和toolkit。
4、pip install tensorflow-gpu==2.0.0 -i https://pypi.tuna.tsinghua.edu.cn/simple
,安装tf-2.0.0-gpu
(如果说有几个安包不了,先pip更新PyHamcrest、setuptools,再用conda 卸载、重装wrapt,之后再去安装tf)
5、现在conda list一下,cudatoolkit 是10.0.130 ,cudnn是6.0 ,tensorflow-gpu是2.0.0 ,测试:
import tensorflow as tf
version = tf.__version__
gpu_ok = tf.test.is_gpu_available()
print("tf version:",version,"\nuse GPU",gpu_ok)
输出版本2.0.0和true。