CUDA_HOME environment variable is not set.cuda : 依赖: cuda-12-1 (>= 12.1.0) 但是它将不会被安装问题解决

1. 自动部署失败

在新装的ubuntu20.04系统电脑上部署项目环境过程中,如果采用先创建空虚拟环境,再初始化下载的策略,出现了电脑莫名卡死的情况,所以创建完空环境后,选择自行逐步安装
安装过程中发生报错:

OSError: CUDA_HOME environment variable is not set. Please set it to your CU...
(这个错误并不是第一次见了,此次是在部署flownet2时发生,flownet2用C++实现了一些功能接口,所以需要nvcc编译,而pytorch安装的cuda toolkit是不带nvcc编译器的,刚装的电脑又确实没有更新过nvidia驱动和工具,因此触发了报错)

2. 手动部署解决

1. 首先,参考博客:

https://zhuanlan.zhihu.com/p/565649540 针对windows
https://blog.csdn.net/OOFFrankDura/article/details/113632416 针对linux
https://zhuanlan.zhihu.com/p/79059379 对Linux下安装cuda讲得很全面
可知pytorch C++扩展需要电脑安装的Cuda而不是anaconda版本的cuda

因此需要引入环境变量,引入时发现/usr/local/下并没有cuda,排查发现新装的系统只附带了470版本的精简nvidia工具驱动,因此安装cuda

2. 安装cuda过程中报错

根据官网的下载指令一步步走出现报错

cuda : 依赖: cuda-12-1 (= 12.1.0) 但是它将不会被安装

apt-get命令太过简单,没有更细致的报错

于是参考文章:https://blog.csdn.net/Simoneming/article/details/115526601

安装aptitude替换apt-get进行安装

sudo apt-get install aptitude
sudo aptitude install cuda

此时安装提供了更多的信息,冲突信息可看可不看,总之就是Y选择替换就能搞定,并且执行安装cuda命令后,

替换了原来的470版本driver为530,本地/usr/local/下出现了cuda目录,

但出现了三个? 三个目录是同时出现的,所以就不管了

CUDA_HOME=/usr/local/cuda-X.X

插入~/.bashrc最后就行了

3. 小插曲

忘了切环境 在base环境下运行了部署flownet2的命令,结果报错了…

还好楞了一下想起来 切环境后运行部署终于成功!

但base环境下报的错很有意思,最开始提示了没找到cuda runtime ,

因此默认使用了/usr/local/cuda进行安装,最后应该是base环境缺少了依赖包比如pytorch,因此才报错

而虚拟环境则没有这个提示,由此可见参考文章注意事项中提到的

conda安装的cuda toolkit(pytorch cuda)与电脑安装的cuda(总cuda)

确实不会产生冲突,且能够从总cuda中借用nvcc编译C++的功能。

plus~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

尝试在windows下部署flownet2时又遇到了这个问题,同样的报错,同样安装cuda工具,在geforce控制面板确认自己的显卡驱动版本,确保其高于要安装的cuda版本,较高版本的cuda toolkit自动配置好了环境变量,nvidia-smi和nvcc都直接可以正常使用了,然后又弹出了error: Microsoft Visual C++ 14.0 or greater is required. Get it with “Microsoft C++ Build Tools”: https://visualstudio.microsoft.com/visual-cpp-build-tools/

缺少C++编译器的报错,这个报错实在是不想搞了,尝试安装了vs中的c++ builder工具,然而并没有什么用,所以还是老老实实用ubuntu去跑这个玩意吧。。over

你可能感兴趣的:(笔记,python,人工智能,unix)