CornerNet环境配置指南:PyTorch 1.2 & CUDA 9.2
2023-06-19 04:48:34
在 Ubuntu 系统上为 PyTorch 1.2 配置 CornerNet
简介
CornerNet 是一款出色的目标检测模型,以其速度快和准确率高而著称。它最初是为 PyTorch 0.4.0 开发的。然而,随着 PyTorch 升级到 1.0 及更高版本,一些 C++ 和 CUDA API 发生了变化,导致在使用较新版本的 PyTorch 时编译 CornerNet 出现问题。本文将指导您在基于 CUDA 9.2 和 PyTorch 1.2 的 Ubuntu 系统上配置 CornerNet。
步骤指南
1. 安装 CUDA 9.2 和 cuDNN 7.6.5
- 从 NVIDIA 官网下载 CUDA 9.2 和 cuDNN 7.6.5。
- 按照安装指南进行安装。
2. 安装 PyTorch 1.2
- 使用 pip 命令安装 PyTorch 1.2:
pip install torch torchvision
3. 下载 CornerNet 源代码
- 从 GitHub 下载 CornerNet 源代码:
git clone https://github.com/princeton-vl/CornerNet.git
4. 修改 CornerNet 源代码
为了与 PyTorch 1.2 兼容,需要修改以下 C++ 和 CUDA 代码:
- 在文件
src/model/corner_pool.cpp
中,将以下代码:
#include <THC/THC.h>
修改为:
#include <torch/cuda.h>
- 在文件
src/model/corner_pool.cu
中,将以下代码:
THCudaCheck(cudaLaunchKernel(kernel, grid, block, args, sharedMem, stream));
修改为:
torch::launch_kernel(kernel, grid, block, args, sharedMem, stream);
5. 编译 CornerNet 代码
- 使用 CMake 和 make 命令编译 CornerNet 代码:
cd CornerNet
mkdir build
cd build
cmake ..
make
6. 安装 CornerNet 依赖库
- 使用 pip 命令安装 CornerNet 依赖库,例如 NumPy 和 OpenCV:
pip install numpy opencv-python
运行 CornerNet
完成上述步骤后,即可运行 CornerNet:
- 训练模型:
python train.py
- 测试模型:
python test.py
结论
通过按照本文的指南,您已成功在 Ubuntu 系统上基于 CUDA 9.2 和 PyTorch 1.2 配置 CornerNet。您可以将 CornerNet 应用于您的目标检测项目,提升模型的准确率和速度。
常见问题解答
- 为什么需要修改 CornerNet 源代码?
PyTorch 1.0 及更高版本中 C++ 和 CUDA API 的更改会导致与 PyTorch 0.4.0 编写的 CornerNet 代码不兼容。
- 使用较旧版本的 PyTorch 会不会更简单?
尽管使用较旧版本的 PyTorch 可能更简单,但我们建议使用较新版本以获得最新功能和性能改进。
- 是否必须使用 CUDA 9.2?
CUDA 9.2 是 PyTorch 1.2 要求的 GPU 计算库版本。
- 能否使用其他目标检测模型?
除了 CornerNet,还有许多其他出色的目标检测模型可用,例如 YOLOv5 和 Faster R-CNN。
- 在哪里可以获得 CornerNet 模型的预训练权重?
CornerNet 模型的预训练权重可以在 Princeton Vision and Learning Lab 网站上找到。