利用torch安装CuPy,使得numpy(np)在CUDA(gpu)上加速。

前言

标题名字是很奇怪,没关系,重点看内容。

正常安装CupPy需要较为复杂的cuda环境配置,可以参考文章——CUDA环境配置。

如果你觉得去官网安装CUDA Toolkit太麻烦,那我们可以利用pyotch的cudatookit来保证Cupy的正常运行。

正文

  1. CuPy官网
    官网给出了详细的安装操作,但是需要手动安装CUDA Toolkit,如果你没有实践过,这也许会比较难。
    官网给出了相应版本对应的安装命令:
    利用torch安装CuPy,使得numpy(np)在CUDA(gpu)上加速。_第1张图片
    我电脑是11.1,所以这里执行下面命令即可
pip install cupy-cuda111

安装好以后直接去运行肯定是不行的,会报错:

Failed to import CuPy.

If you installed CuPy via wheels (cupy-cudaXXX or cupy-rocm-X-X), make sure that the package matches with the version of CUDA or ROCm installed.

On Linux, you may need to set LD_LIBRARY_PATH environment variable depending on how you installed CUDA/ROCm.
On Windows, try setting CUDA_PATH environment variable.

Check the Installation Guide for details:
  https://docs.cupy.dev/en/latest/install.html

Original error:
  ImportError: DLL load failed while importing runtime: 找不到指定的模块。

意思很明确了,就是说你没有安装cuda,或者没有指定CUDA_PATH的环境变量。

  1. 如果你安装了pytorch的cudatoolkit, 你会发现你是可以使用cuda加速的,那为什么cupy就不可以呢?
    因为在pytorch官网安装的cudatoolkit并不是官网安装CUDA Toolkit,它们是不相同的。
    pytorch官网安装的cudatoolkit是一些编译好的CUDA程序,当系统上存在兼容的驱动时,这些程序就可以直接运行。安装pytorch会同时安装cudatoolkit,且pytorch的GPU运算直接依赖cudatoolkit,因此无需安装CUDA Toolkit即可使用pytorch进行深度学习。

  1. 对于我们这种喜欢偷懒的人,肯定是选择安装pytorch的cudatoolkit啊,毕竟一行命令就都安装好了。
    对于pytorch和cuda的安装,可以参考我的另外一篇文章——pytorch+cuda,各种较老版本cuda,两步完成

  2. 对于安装好了pytorch的cudatoolkit以后,怎么让CuPy在cudatoolkit上运行呢,这就很容易了,只需要先导入一下torch就可以了!

放个下图给你们看看,虽然还是会Warning,但是已经可以正常使用了。
利用torch安装CuPy,使得numpy(np)在CUDA(gpu)上加速。_第2张图片

总结一下

  1. 首先安装pytorch和cudatoolkit,可以参考pytorch+cuda,各种较老版本cuda,两步完成
  2. 安装cupy,通过上面文章也可以找到cuda的版本,然后pip install cupy-cuda??? (???就是版本)
  3. 记得在import cupy 之前先 import torch就可以了。
import torch
import cupy

然后就可以使用cupy了。

  1. 可以使用
a = cupy.array([1,2])
print(a.device)

验证一下是否导入成功,如果成功了就成功了,如果不成功,去官网安装CUDA Toolkit吧。

你可能感兴趣的:(pytorch,cupy,pytorch,深度学习,python)