笔者电脑中原本装好的是CUDA9.0和pytorch0.4.0,近期由于项目需求要安装最新的pytorch,面临的最直接问题就是当前CUDA版本的不支持。
首先最简单的办法就是重新安装CUDA,但这会导致之前配置环境可能需要重新安装,于是就放弃了这种方法,更换诉求为:保留当前CUDA,给新的pytorch安排另一个版本的CUDA。
在这一步有两种方法,第一种是直接通过anaconda安装,新建一个虚拟环境,进入该环境,安装pytorch的时候指定cuda版本,于是conda会下好该CUDA版本中pytorch需要用到的部分。参考指令:conda install pytorch torchvision cuda100 -c pytorch (指定CUDA10)。这种方法安装的CUDA正常用pytorch是没什么问题的,而且配环境非常方便,没有特殊需求的话推荐此方法。
那么问题来了,如果有一些特殊要求,比如需要用到CUDA编译库文件,那conda给安装的不完整CUDA就不够用了,会显示找不到CUDA_HOME。此时请出方法二:安装所需要版本的CUDA,由于电脑中已有CUDA,因此此次安装不要设置软链接之类的,我们只是想在虚拟环境中调用下而已,不要弄成全局的。这个方法我参考了多版本CUDA和TensorFlow共存这篇博文,里面讲得很详细。大致思想就是在激活虚拟环境时修改$CUDA_HOME为新的CUDA路径,但是这个只是临时在虚拟环境中用的,因此退出虚拟环境时将$CUDA_HOME恢复为原来的路径。经过验证这个方法是行得通的。
另外关于编译库文件&