zoukankan      html  css  js  c++  java
  • vscode下调试caffe源码

    caffe目录:

    ├── build -> .build_release  // make生成目录,生成各种可执行bin文件,直接调用入口;
    ├── cmake
    ├── CMakeLists.txt
    ├── CONTRIBUTING.md
    ├── CONTRIBUTORS.md
    ├── data
    ├── distribute
    ├── docker
    ├── docs
    ├── examples  //很多demo可以尝试使用;
    ├── include
    ├── INSTALL.md
    ├── LICENSE
    ├── Makefile
    ├── Makefile.config
    ├── Makefile.config.example
    ├── matlab
    ├── models
    ├── python
    ├── README.md
    ├── scripts
    ├── src   // src/caffe/solver.cpp,net.cpp,layer.cpp,blob.cpp等核心函数;
    └── tools //主要使用caffe.cpp,进行调用src下面各个子函数;另外tools/extra下提供一些辅助函数

    1. 使用gdb直接调试工程

    配置参考:Caffe源码调试

    主要打开:修改Makefile.config:DEBUG := 1 ;生成如下目录:

    lrwxrwxrwx  1 root root     12 1月   3 16:37 build -> .build_debug/
    drwxr-xr-x 12 root root   4096 1月   3 16:37 .build_debug/
    drwxr-xr-x 12 root root   4096 1月   3 16:37 .build_release/

    使用GDB启动调试,执行gdb --args build/tools/caffe train --solver examples/mnist/lenet_solver.prototxt ;可以直接调试;

    rjw@rjw:~/caffe$ gdb --args build/tools/caffe train --solver examples/mnist/lenet_solver.prototxt
    GNU gdb (Ubuntu 7.11.1-0ubuntu1~16.5) 7.11.1
    Copyright (C) 2016 Free Software Foundation, Inc.
    License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
    This is free software: you are free to change and redistribute it.
    There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
    and "show warranty" for details.
    This GDB was configured as "x86_64-linux-gnu".
    Type "show configuration" for configuration details.
    For bug reporting instructions, please see:
    <http://www.gnu.org/software/gdb/bugs/>.
    Find the GDB manual and other documentation resources online at:
    <http://www.gnu.org/software/gdb/documentation/>.
    For help, type "help".
    Type "apropos word" to search for commands related to "word"...
    Reading symbols from build/tools/caffe...(no debugging symbols found)...done.
    (gdb) 
    (gdb) q

    2. 使用Vscode进行调试:

    配置c_cpp_properties.json 和launch.json ;

    {
        // Use IntelliSense to learn about possible attributes.
        // Hover to view descriptions of existing attributes.
        // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
        "version": "0.2.0",
        "configurations": [
            {
                "name": "(gdb) Launch",
                "type": "cppdbg",
                "request": "launch",
                "program": "${workspaceFolder}/build/tools/caffe",
                "args": ["train","--solver","${workspaceFolder}/examples/mnist/lenet_solver.prototxt"],
                "stopAtEntry": false,
                "cwd": "${workspaceFolder}",
                "environment": [],
                "externalConsole": true,
                "MIMode": "gdb",
                "setupCommands": [
                    {
                        "description": "Enable pretty-printing for gdb",
                        "text": "-enable-pretty-printing",
                        "ignoreFailures": true
                    }
                ]
            }
        ]
    }
  • 相关阅读:
    UPS FAQ-不错的UPS资料
    HPL.dat FAQ
    Fortran77计算某段代码的CPU运行时间
    存储知识 什么是LUN?LUN有什么用?对理解存储设备很有好处
    HPL.dat Tune
    UPS-瓦特(W)和伏安(VA):易混淆的两个概念
    mysql sql 索引相关用法,加快查询速度
    mysql 数据库分类设计方法与PHP结合
    c# SQLServer 数据库连接类
    .net上传图片生成大小缩略图
  • 原文地址:https://www.cnblogs.com/ranjiewen/p/10215090.html
Copyright © 2011-2022 走看看