TensorFlow是一个开源软件库,用于各种感知和语言理解任务的机器学习。当前被50个团队用于研究和生产许多Google商业产品,如语音识别、Gmail、Google 相册和搜索,其中许多产品曾使用过其前任软件DistBelief。
然而,搭建深度学习框架却是一个让人恼火的事情。直到Anaconda的到来,一切都不一样了。
1 查看系统当前显卡驱动版本
很显然,我的是。
2 查看当前tensorflow安装的CUDA版本
注意,需要先进入虚拟环境。我这里是。
3 NVIDIA官 给的版本对应关系
该图来自于 《CUDA Toolkit and Compatible Driver Versions》, 最新版本可以从以上链接中获取。

很显然,我是Ubuntu 18.04LTS 系统,安装的是 显卡驱动,应该对应。(这里注意Linux和Windows驱动对应版本是不一样的)。
4 一些当时安装时的操作
丑话说在前头,如果你要卸载并重新安装显卡驱动,这是不靠谱的,很容易造成电脑黑屏,再也无法显示桌面。
对于我来说,肯定会选择, 重新安装CUDA 。
回想是当时是怎么安装的。我电脑安装的是的环境,配置深度学习环境特别简单: 一行命令 安装TensorFlow-gpu 、 PyTorch-gpu
我原来是这么安装的:
PyTorch
Tensorflow
后面是创建的虚拟环境的名字。当时一激动,忘记指定的版本了,就给我整了个造成了现在的局面。(其实我当时也不知道指定版本这事)。
5 解决办法
CUDA需要电脑计算能力为3.5以上的显卡才被支持。你可以在这里《NVIDIA CUDA GPUs》 看到你的显卡计算能力。
在《TensorFlow GPU Support》 页面,我们可以看到,对于 Linux系统 (非macOS/Windows) ,
CUDA 10.0 需要 410.x 或更高版本,对应TensorFlow 1.13.0 及更高版本。
版本 | Python 版本 | 编译器 | 编译工具 | cuDNN | CUDA |
---|---|---|---|---|---|
tensorflow_gpu-1.13.0 | 2.7、3.3-3.6 | GCC 4.8 | Bazel 0.19.2 | 7.4 | 10.0 |
tensorflow_gpu-1.12.0 | 2.7、3.3-3.6 | GCC 4.8 | Bazel 0.15.0 | 7 | 9 |
tensorflow_gpu-1.11.0 | 2.7、3.3-3.6 | GCC 4.8 | Bazel 0.15.0 | 7 | 9 |
tensorflow_gpu-1.10.0 | 2.7、3.3-3.6 | GCC 4.8 | Bazel 0.15.0 | 7 | 9 |
tensorflow_gpu-1.9.0 | 2.7、3.3-3.6 | GCC 4.8 | Bazel 0.11.0 | 7 | 9 |
补充:完整表格参看文后的附录。
很显然,我的显卡驱动为,NVIDIA官 说该驱动应该使用,那么,我应该安装。(先别急着安装,我这里失败了,请看后文)
移除原来的conda虚拟环境
移除时,先退出该虚拟环境。
安装TensorFlow1.12.0 (失败了)
理想是美好的,安装之后,还是原来的错误。我去看了一下安装日志给我安装的竟然是(我要的是9.0),好吧,TensorFlow官 只是说明了大版本 9,并没有说明小版本 9.x,sad。
安装TensorFlow1.9.0 (成功了)
有了前面的前车之前,我这下注意了。好在conda在安装的时候会有一个问候界面:“小伙,我将给你安装下列这些包,[y/n]/strong> ,我瞧仔细了,TensorFlow1.12.0~1.10.0安装的都是CUDA9.2。
直到TensorFlow=1.9.0,这时候使用的才是CUDA9.0版本(具体是cudnn-7.3.1-cuda9.0_0)。
成功!
6 附录
更详细的版本支持情况可以查看《Linux/macOS TensorFlow CUDA支持情况》了解最新情况,以下为对 Linux系统(非macOS/Windows) 的简单罗列,
版本 | Python 版本 | 编译器 | 编译工具 | cuDNN | CUDA |
---|---|---|---|---|---|
tensorflow_gpu-1.13.0 | 2.7、3.3-3.6 | GCC 4.8 | Bazel 0.19.2 | 7.4 | 10.0 |
tensorflow_gpu-1.12.0 | 2.7、3.3-3.6 | GCC 4.8 | Bazel 0.15.0 | 7 | 9 |
tensorflow_gpu-1.11.0 | 2.7、3.3-3.6 | GCC 4.8 | Bazel 0.15.0 | 7 | 9 |
tensorflow_gpu-1.10.0 | 2.7、3.3-3.6 | GCC 4.8 | Bazel 0.15.0 | 7 | 9 |
tensorflow_gpu-1.9.0 | 2.7、3.3-3.6 | GCC 4.8 | Bazel 0.11.0 | 7 | 9 |
tensorflow_gpu-1.8.0 | 2.7、3.3-3.6 | GCC 4.8 | Bazel 0.10.0 | 7 | 9 |
tensorflow_gpu-1.7.0 | 2.7、3.3-3.6 | GCC 4.8 | Bazel 0.9.0 | 7 | 9 |
tensorflow_gpu-1.6.0 | 2.7、3.3-3.6 | GCC 4.8 | Bazel 0.9.0 | 7 | 9 |
tensorflow_gpu-1.5.0 | 2.7、3.3-3.6 | GCC 4.8 | Bazel 0.8.0 | 7 | 9 |
tensorflow_gpu-1.4.0 | 2.7、3.3-3.6 | GCC 4.8 | Bazel 0.5.4 | 6 | 8 |
tensorflow_gpu-1.3.0 | 2.7、3.3-3.6 | GCC 4.8 | Bazel 0.4.5 | 6 | 8 |
tensorflow_gpu-1.2.0 | 2.7、3.3-3.6 | GCC 4.8 | Bazel 0.4.5 | 5.1 | 8 |
tensorflow_gpu-1.1.0 | 2.7、3.3-3.6 | GCC 4.8 | Bazel 0.4.2 | 5.1 | 8 |
tensorflow_gpu-1.0.0 | 2.7、3.3-3.6 | GCC 4.8 | Bazel 0.4.2 | 5.1 | 8 |
补充:如果你是Windows系统请戳这里《Windows TensorFlow CUDA支持情况》,请自行获取。
References:
[1] TensorFlow GPU Installation Made Easy: Use conda instead of pip [Updated]
[2] PyTorch get started
[3] TensorFlow in Anaconda
文章知识点与官方知识档案匹配,可进一步学习相关知识Python入门技能树首页概览212867 人正在系统学习中
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!