在linux/服务器上使用指定版本的cuda
起因是我想要复现一下yolo2-pytorch,网上找的版本全都是pytorch0.4.1.以目前高版本的pytorch运行会报ImportError: torch.utils.ffi is deprecated. Please use cpp extensions instead. 的问题。网上查了一下是因为pytorch版本更新取消了utils.ffi。
然后我就想既然如此弄一个新的pytorch0.4.1环境不久好啦.但是之后又遇到了pytorch041和我高版本的cuda之间不对应的问题。后来我查了一下我的服务器上装了cuda9.0,cuda10.0,cuda10.1.所以如何修改我环境变量,让我的python程序默认执行的是cuda9.0呢?
以下是解决办法:
来到根目录下,找到.bashrc文件,打开
在比较前面的位置加上
export PATH="/smart/cuda-9.0/bin:$PATH"
export LD_LIBRARY_PATH="/smart/cuda-9.0/lib64:$LD_LIBRARY_PATH"
就是说把cuda9.0/bin,和cuda9.0/lib64加到环境变量里面去。如果你也想要这么操作的话,你得先确定一下你的你想要的版本的cuda对应的位置,一般是在
/usr/local/cuda/
如果这里面还是没有的话,建议你打开root根目录下面的.bashrc看看。我的是
export PATH="/usr/local/cuda/bin:$PATH"
export LD_LIBRARY_PATH="/usr/local/cuda/lib64:$LD_LIBRARY_PATH"
因为root的.bashrc默认指向的是10.1所以我的个人用户默认的10.1.在我启动我的个人环境的时候它会先加载root的.bashrc然后是我个人的.bashrc。我在我个人的.bashrc里面添加了9.0的环境变量也就把之前的10.1覆盖了。