cuda, torch, tensorflow, your own GPU, and DCNv2 supports decent pytorch such as torch
Published:
今天在搞category-level pose estimation,fork这个project时候遇到了 RuntimeError: CUDA error: no kernel image is available for execution on the device (rastervision)
首先:
1. Cuda 和 自身的电脑的GPU 的算力要对应。
link:https://developer.nvidia.com/cuda-gpus
这里需要用,算力对应的cuda版本
link: https://docs.nvidia.com/datacenter/tesla/drivers/index.html#cuda-arch-matrix
比如说我的显卡是 RTX 3060,就需要选择 11.0 以上的 cuda进行支持,同时这里的最大支持如果没错的话,需要用nvidia-smi进行查看,右上角的cuda version 就是最大的cuda 的support 的版本。
(base) tianyi@tianyi-Redmi-G-2022:~$ nvidia-smi
Thu Nov 21 00:41:21 2024
+---------------------------------------------------------------------------------------+
| NVIDIA-SMI 535.183.01 Driver Version: 535.183.01 CUDA Version: 12.2 |
|-----------------------------------------+----------------------+----------------------+
| GPU Name Persistence-M | Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap | Memory-Usage | GPU-Util Compute M. |
| | | MIG M. |
|=========================================+======================+======================|
| 0 NVIDIA GeForce RTX 3060 ... Off | 00000000:01:00.0 On | N/A |
| N/A 38C P5 20W / 80W | 2201MiB / 6144MiB | 2% Default |
| | | N/A |
+-----------------------------------------+----------------------+----------------------+
+---------------------------------------------------------------------------------------+
| Processes: |
| GPU GI CI PID Type Process name GPU Memory |
| ID ID Usage |
|=======================================================================================|
| 0 N/A N/A 1389 G /usr/lib/xorg/Xorg 107MiB |
| 0 N/A N/A 1773 G /usr/lib/xorg/Xorg 1051MiB |
| 0 N/A N/A 1920 G /usr/bin/gnome-shell 201MiB |
| 0 N/A N/A 34438 G ...23,262144 --variations-seed-version 563MiB |
| 0 N/A N/A 39888 G ...erProcess --variations-seed-version 234MiB |
| 0 N/A N/A 64865 G wemeetapp 5MiB |
| 0 N/A N/A 66325 G /usr/lib/firefox/firefox 9MiB |
+---------------------------------------------------------------------------------------+
这里还有一个cudnn,但是这个一般没什么问题,跳过了
2. 然后知道可以安装的cuda 区间,我们还需要知道 torch 和 cuda 的对应关系,这里的版本也需要对应起来。
我也不知道这个每个cuda对应torch 版本是怎么来的,简直是 是山代码,但是如果你有要求的torch版本,一定要按照这个来。。。 link是: https://pytorch.org/get-started/previous-versions/
3.然后在找DCN 的torch和cuda和numpy的支持的版本是什么,搞笑的是,他们也是拼凑起来的版本,一个一个测试能不能work,https://github.com/lucasjinreal/DCNv2_latest
因为我看到这里面写的是,能稳定运行torch 1.11所以我就顺着这个和之前的corresponding 的版本来联系起来,找到一个能连起来互相兼容的cuda torch。。。。。。。 最后经验是多卸载cuda,就能跑了 是山代码