tensorflow/pytorch临时指定CUDA版本,解决版本适配问题

2020-06-22 19:55:58 浏览数 (1)

经典的深度学习引擎,如tensorflow和pytorch,其自身版本与CUDA版本有着严格的对应关系,一点点的不符都会使得程序无法运行。

例如,我目前的默认CUDA==10.2,现在需要跑tensorflow-gpu==1.13.1的代码(要求CUDA==10.0),就会报出这样的错误:

代码语言:javascript复制
ImportError: libcublas.so.10.0: cannot open shared object file: No such file or directory

由于复现实验时,原始代码的tensorflow/pytorch版本往往五花八门,只靠一个版本的CUDA来一招鲜吃遍天是不现实的,必然要安装多版本CUDA。

然而,指定CUDA版本也很繁琐,常规方法是开多个conda虚拟环境, 为每个环境指定一个CUDA版本,但不免繁琐。

其实,一个简单的方法就能够临时切换使用的CUDA版本,就是在执行代码前指定环境变量LD_LIBRARY_PATH为你想使用的特定版本的CUDA的路径。

例如,为run.py指定使用CUDA=10.0

代码语言:javascript复制
LD_LIBRARY_PATH=/usr/local/cuda-10.0/lib64 python run.py

其他版本,把cuda-10.0改成对应版本即可。

0 人点赞