pytorch之libtorch(C++)

libtorch:
从这里选择库下载:

https://pytorch.org/get-started/locally/

pytorch之libtorch(C++)_第1张图片

 相关测试参考代码:

libtorch-yolov5: https://github.com/yasenh/libtorch-yolov5
yolov5: https://github.com/ultralytics/yolov5z

注意:   需要转换为 yolov5s.torchscript.pt 最新版本中不需要修改export.py,需要指定CPU还是GPU,

GPU与CPU生成的 script.pt不能共用(不知道原因)

 我是windows系统vs2019, cmake gui来配置;

其中,系统拥有8张GPU显卡, 如何单独使用GPU显卡请修改:

//判断CUDA是否可以使用与数量
std::cout << "cuda::is_available():" << torch::cuda::is_available() << std::endl;
std::cout << "cuda::cudnn_is_available():" << torch::cuda::cudnn_is_available() << std::endl;
std::cout << "cuda::device_count():" << torch::cuda::device_count() << std::endl;

//固定到那张GPU显卡
#include "cuda_runtime_api.h"
int gpu_id; //从0开始,我的是8张固: 0~8
cudaSetDevice(gpu_id);

//请修改Detector::Detector中的部分:

//加载到那种显卡中
module_ = torch::jit::load(model_path, torch::Device(torch::DeviceType::CUDA, index));

//我最开始后面的没有写,以为 module_.to(device_); 可以,结果报错:Expected all tensors to be on the same device, but found at least two devices, cuda:1 and cuda:0!
//后面修改上面即可实现了GPU的选择;
//Pytorch中与 CUDA_VISIBLE_DEVICES 有关;

 我发现,在多线程时,GPU利用率很低,但是处理花的时间很长不知道为什么?

你可能感兴趣的:(物体识别,pytorch,c++,深度学习)