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搭自己项目的环境 - 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 (可暂时性的忽视) - 换项目,读代码,读项目中的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/weixin_43686259/article/details/128098582
版权归原作者 山药脑袋檀木心 所有, 如有侵权,请联系我们删除。
版权归原作者 山药脑袋檀木心 所有, 如有侵权,请联系我们删除。