先了解清楚你的独显的compute capability是多少,tensorflow-gpu 1.11以上支持3.7以上算力,我自己的电脑是3.5,只有tensoflow-gpu 1.10支持。如果是3.5以下,就无法用gpu来加速深度学习了。
不管哪一种安装方式,都需要安装几个包,包括cuda和cuDNN
NVIDIA® GPU drivers —CUDA 9.0 requires 384.x or higher.
CUDA® Toolkit —TensorFlow supports CUDA 9.0.
CUPTI ships with the CUDA Toolkit.
cuDNN SDK (>= 7.2)
(Optional) NCCL 2.2 for multiple GPU support.
(Optional) TensorRT 4.0 to improve latency and throughput for inference on some models.
TensorFlow gpu support
在gobal env下安装
参考这个博主写的win10+cuda8.0+cudnn+Tensorflow(GPU)安装
在virtualenv下安装
pip安装virtualenv之后,进到你要放置虚拟环境的文件夹,输入virtualenv创建虚拟环境,如果没有这个指令,就把virtualenv卸了重装吧
输入指令env\Scripts\activate
激活虚拟环境,会发现在cmd窗口的命令行前有标识(env)了,说明已经进入了虚拟环境。
这个时候就可以简单地使用pip install tensorflow-gpu
来安装了
几个问题
这几个问题都是安装在globalenv下才会有的,可见virtualenv下安装有多么方便。
安装CUDA的时候,提示要先安装intel driver
解决办法:在驱动精灵或者驱动人生下面更新系统集显的驱动,我自己是HD graphics 5500。安装了一个包之后发现还是提示同样的问题,我换了一个驱动的包,记得那个包90M左右,安装后右下角任务栏里有graphics的驱动程序
安装TensorFlow-gpu时提示权限不够
Could not install packages due to an EnvironmentError: [WinError 5] Access is denied: 'C:\
\Users\\ADMINI~1\\AppData\\Local\\Temp\\pip-uninstall-ewxp6cqp\\users\\administrator\\appd
ata\\roaming\\python\\python36\\site-packages\\tensorflow\\python\\_pywrap_tensorflow_inte
rnal.pyd'
Consider using the `--user` option or check the permissions.
根据它的提示,在pip install
改为
pip install --user tensorflow-gpu==1.10
就好了
安装TensorFlow-GPU之后运行时提示 The minimum required Cuda capability is 3.7.
tensorflow issue中的解决办法
了解到最新版的TensorFlow已经不支持3.5的算力了,故重新安装了下低版本的
import tensorflow 提示各种lib,dll加载不了
TensorFlow gpu support
在官网上也提到需要把三个地址加到环境变量中
from tensorflow.python.keras._impl.keras.backend import abs ImportError: cannot import name ‘abs’
根据它的回答,卸载tensorflow-gpu,protobuf之后再重新安装tensorflow-gpu==1.10
卸载protobuf时权限不够
PermissionError: [WinError 5] Access is denied: 'C:\\Users\\ADMINI~1\\AppData\\Local\\Temp
\\pip-uninstall 14m9gohm\\users\\administrator\\appdata\\roaming\\python\\python36\\site-p
ackages\\google\\protobuf\\internal\\_api_implementation.cp36-win_amd64.pyd'
在开始菜单中搜索cmd,右键以管理员身份运行,然后输入
pip uninstall protobuf