我本机安装的是 cuda 11.8
我通过 conda 在虚拟环境 TFDEMO 安装了 cudatoolkit 11.2 ,这个 TFDEMO 也一直显示 cuda 版本信息是 11.8 ,也没办法跑通项目。我的理解是 conda 应该自动帮我把虚拟环境设置后,为什么会一直显示 11.8 这个错误的版本。后来我通过设置 conda env config vars set 把 cudatoolkit 版本设置好后,cuda 版本终于正确,可以跑通项目
但我在尝试使用 pycharm 调试 TFDEMO 的时候,pycharm 没办法识别 TFDEMO 的 cuda 版本,各位大佬是怎么设置的呢? 或者 conda 在设置虚拟环境的时候正确的做法是那样呢。
感谢各位大佬阅读,祝各位大佬新春快乐。
1
Yuhyeong 310 天前
nvidia-smi 显示的是当前显卡的驱动支持的最高 cuda 版本,因为是向下兼容的所以你安装低版本的 cudatookit 也可以,当然最好是同版本。同一台机器是可以安装不同版本的 cudatoolkit 的,只要确保你当前环境中的 cuda 依赖是正确的,没有依赖到其他版本上就行,可以看看你的包依赖的 so 的路径,看看是不是你要的那个
还有就是你描述的很不清晰,搞不懂你的需求是什么。 |
2
ho121 310 天前
找找 pycharm 的配置项,里面有个 “Python Interpeter”是可以添加 conda 环境的。不过有时候没有识别到,就需要自己手工加了。
|
3
shicheng1993 310 天前
我的理解是这样的
你在 conda 在虚拟环境装了 cuda 11.2 ,为什么版本信息显示 11.8 呢 是因为你的环境变量配置问题,导致优先找到了 11.8 版本,cuda 又不依赖于某个虚拟环境 你要做的是,把某个虚拟环境去寻找 cuda 时候的环境变量,配置正确,找到你想要的版本 例如,我之前的做法,我自己手动安装 cuda ,我安装了四个版本 /usr/local/cuda-9.0 /usr/local/cuda-9.2 /usr/local/cuda-10.0 /usr/local/cuda-10.1 那么我在需要不同版本的时候怎么做呢 ![cuda 变量配置]( https://i2.100024.xyz/2024/02/05/p374sw.webp) unset PATH unset LD_LIBRARY_PATH 删除已有变量的目的是能确保新加路径生效,否则比如有一个 9.0 的路径已经在环境变量里,你后边在加 10.0 的路径,怎么也不会生效的 PATH 变量删除会导致命令行基本不可用,你自己 echo 一下你机器上的 Path 看看,例如我的机器对应的要把 17-18 行左右的设置回去 最后再说 pycharm 怎么处理 (1) 如果你和我这样,全局安装,并设置了对应的环境变量,python 虚拟环境就别装 cuda 了,这样就是全局切换效果,cuda 和虚拟环境分开,你想用哪个 cuda 就用那个 cuda ,和虚拟环境无关,只看你的变量设置 ( 2 )如果还是版本不对,pycharm 可以添加变量,点击 pycharm 上面的 run -> edit configurations 在弹出的界面中,你会发现还可以设置 Environment Variables ,这里就是针对这个当前项目设置了,这里设置 PATH 和 LD_LIBRARY_PATH 和上面给出的截图那样,肯定会生效的 |