CUDA版本选择/安装(不同的深度学习项目需要不同CUDA)
- 源起
- 尝试的方法
- cuda的安装
源起
- 9月-11月测试深度学习的项目,由于个人的方向的论文主要集中于2017,2019年左右,这个阶段很多代码都是tensorflow1与tensorflow2兼有、python2与python3兼有,cuda主要用的是cuda8,cuda10
- 我的机器显卡是3060的(R9000P);然后租的机器是3090的,借的机器是A100的,显卡太新,跑不了我研究方向的很多项目(很长一段时间我都在抑郁,我的显卡不赖呀,竟然跑不起来代码,都想换课题了)
尝试的方法
在3060、3090的机器上安装cuda8 (不要这个干!!!瞎浪费时间,但是学会了超快安装cuda的方式,以至于我现在拿到机器本能的作出以下的反映);
- 看以下驱动是否正常(我的机器显卡都是nvidia的):
nvidia-smi
- 如果不正常:装驱动
- 正常,在看此时cuda的版本:
nvcc -V
- 如果cuda的版本符合项目需求,皆大欢喜;
- 如果cuda的版本不符合项目需求,查自己的显卡支持的cuda版本有哪些(非常重要,我的3060, 3090都不支持cuda8, 我装cuda8白忙)(可看官网:https://developer.nvidia.com/cuda-gpus https://docs.nvidia.com/cuda/cuda-toolkit-release-notes/index.html#title-resolved-issues;可可以直接https://cn.bing.com/搜索显卡支持的CUDA版本、CUDA计算能力,Tensorflow_gpu对应的CUDA版本等)
- 找一个能支持项目cuda版本的机器
- 再次
nvidia-smi
看驱动,是否装驱动 nvcc -V
看cuda版本- 如果cuda的版本符合项目需求,皆大欢喜;
- 如果cuda的版本不符合项目需求:
- 卸载现有的cuda
- 装cuda, 参考——方法:https://blog.csdn.net/sinat_36721621/article/details/115326307 ; 选择版本:https://developer.nvidia.com/cuda-toolkit-archive
- 增加环境变量,
nvcc -V
看cuda是否成功安装,可看https://blog.csdn.net/sinat_36721621/article/details/115326307 后面一部分 - 开始conda搭自己项目的环境
- 看以下驱动是否正常(我的机器显卡都是nvidia的):
tensorflow1的项目使用tensorflow2环境跑(可以,但是需要改,会报以下几种错误,一般
import tensorflow.compat.v1 as tf
代替import tensorflow as tf
可解决);- tf.placeholder() is not compatible with eager execution. (解决办法:在程序的开始加:
tf.compat.v1.disable_eager_execution()
) - module ‘tensorflow’ has no attribute ‘…’ (解决办法:
import tensorflow.compat.v1 as tf
代替import tensorflow as tf
) - TypeError: batch_to_space_v2() got an unexpected keyword argument ‘block_size’ (解决办法:
import tensorflow.compat.v1 as tf
代替import tensorflow as tf
) - Not creating XLA devices, tf_xla_enable_xla_devices not set (可暂时性的忽视)
- tf.placeholder() is not compatible with eager execution. (解决办法:在程序的开始加:
换项目,读代码,读项目中的issues (非常有用,对现在环境搭不起来有启发性作用,还能避免踩别人踩过的坑。我迷茫了,不知道干什么了,我要提醒自己干这个)
开始认真看报错:
- libcudart.so.8.0: cannot open shared object file: No such file or directory (说明我的cuda版本不合适,项目要cuda8, 我的却是cuda11.7; 或在tensorflow的版本不合适)
- errors_impl.NotFoundError: libcudart.so.8.0 (同上)
机器的显卡太新, 跑不了cuda
- 在咸鱼上搞台老点的机器 (放弃了,没服务器方便,服务器可以一键换镜像)
- 租老的显卡(像1080ti)
在python3 的conda 环境装 Python2 (emmmm,这个方法其实不管用,因为用的时候还是要不python3,要不python2, 不能像我想的那样——可以python2, python3代码混着写。 感觉自己好傻呀)
cuda的安装
参考:
- 安装步骤: https://blog.csdn.net/sinat_36721621/article/details/115326307
- 官方不同的版本:https://developer.nvidia.com/cuda-toolkit-archive