继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

ubuntu下使用vscode编译调试yolov3

英明神武的牛
关注TA
已关注
手记 317
粉丝 30
获赞 175

前提

要使用gpu和cudnn必须安装好驱动,cuda,cudnn,要在图像上显示检测框需要安装好opencv(?我也不知道是不是一定要opencv才能显示检测框)

准备工作

下载vscode 

安装

[html] view plain copy print?

  1. sudo dpkg -i code*.deb  

sudo dpkg -i code*.deb

下载darknet

[html] view plain copy print?

  1. git clone https://github.com/pjreddie/darknet  

  2. cd darknet  

  3. wget https://pjreddie.com/media/files/yolov3.weights  

git clone https://github.com/pjreddie/darknet
cd darknet
wget https://pjreddie.com/media/files/yolov3.weights

配置vscode

打开安装好的vscode并安装扩展C/C++(ms-vscode.cpptools)

在开始处打开文件夹打开darknet文件夹,如下图所示:

这时候可能会有找不到darknet.h的问题,因为darknet.h文件在include的文件夹中,而vscode默认从系统和${workspaceFolder}(当前打开的文件夹,即darknet目录)下找头文件,所以我们要将工作区的include文件夹加入到配置文件中去。vscode下的C或C++项目的配置文件是c_cpp_properties.json,用快捷键ctrl+shift+p调出vscode命令搜索框,搜索Edit Configurations并点击就会跳转到c_cpp_properties.json文件的编辑界面,将include加入到includePath即可:


编译

在vscode下编译可由task.json来定义,但darknet下已有Makefile文件,可以不用自己写task.json。但如果想以调试的模式运行的话需要将Makefile中的CC=gcc改为CC=gcc -g来编译出可以gdb调试的可执行文件。

vscode功能强大,可以直接在vscode界面内使用终端。在编译之前根据电脑的环境选择是否使用cuda,cudnn,opencv等选项修改Makefile,使用快捷键ctrl+`调出vscode的终端,在darknet目录下make。编译完成后在darknet文件夹下可以看到名为darknet的可执行文件。

调试

要启动调试,vscode需要知道编译的可调式的可执行文件的目录,以及带进去的参数,这些内容需要配置到launch.json中。按F5启动调试,选择GDB环境,编辑launch.json如下所示:

主要修改program和args,具体参数请根据自己具体的情况配置,我这上面的1.mkv是自己跑的视频(傲骨贤妻第一季第一集)

测试


在darknet.c里面设置了断点并启动调试,可以看到变量,调用堆栈等信息,至此调试成功。最后一张跑的视频的图:


第一篇博客。。。希望能产生点小小的帮助!

原文出处

打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP