Ubuntu下用eclipse调试caffe code

本文地址:http://blog.csdn.net/mounty_fsc/article/details/51089864

1 运行范例脚本train_lenet.sh

Ubuntu下终端行执行train_lenet.sh可训练lenet-5(详细情况参考其他教程),能直观地看到lenet训练起来带情况。 
train_lenet.sh中内容为:

./build/tools/caffe train –solver=examples/mnist/lenet_solver.prototxt

注:– 为两个- -,cndn显示问题

涉及到程序caffe以及文件lenet_solver.prototxt两个文件。因而在输入参数带情况下调试caffe.

2 Cuda相关问题

若不考虑调式cuda代码,以下内容忽略

  1. Ubuntu下使用Eclipse调式caffe代码,主要为两个IDE,一个是Eclipse CDT,另一个是Nsight Eclipse Edition

    • Eclipse CDT:用来开发C/C++,本文介绍这种方法
    • Nsight Eclipse Edition:安装cuda自带的IDE,由于caffe中涉及cuda相关的代码,如果需要调式cuda代码,且能使用Nsight Eclipse Edition调式的话,这个是最好的选择。
  2. 一般PC使用Nsight会面临一个问题:

    all cuda devices are used for display and cannot be used while debugging

    • Ubuntu下图形界面调式cuda,单显卡不能同时用于显示和调式。
    • Win 7下不存在这样的问题
  3. 解决这个问题的方法有:

    • 不使用图形界面来进行调式cuda,意味着不使用Nsight
    • 不在本机调式,使用Nsight remote debug的功能
    • cuda 5.5以上,显卡计算能力3.5以上,否则必须一个显卡显示,一个显卡计算。参考资料好下:

      1. https://devblogs.nvidia.com/parallelforall/cudacasts-episode-4-single-gpu-debugging-cuda-5-5/
      2. 视频https://www.youtube.com/watch?v=nKKLqc2TgsI(need tool, you know)
    • 不知有没有其他巧妙方法,若有,求共享…

3 Eclipse单步调试代码

eclipse导入caffe项目教程详见:http://blog.csdn.net/yaoxingfu72/article/details/47999795 
在eclipse中打开caffe项目,配置调试器如下

1. Debug As -> Debug Configurations..

2. 设置调试带程序,以及运行时参数

3. 点击图像右下角debug进行调试 
其中build/tools/caffe对应带源代码在tools/caffe.cpp中

4. 配置cuda头文件路径 
若不配置,在eclipse中会出现找不到cuda相关带文件错误。

5. 让Eclipse识别cuda源文件

4 Clion导入Caffe项目

Clion是Jetbrain开发的面向C/C++的一款优秀IDE,其导入流程见参考[1]

[1]. http://blog.csdn.net/xuanwu_yan/article/details/51731132

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/313287.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

idea使用jar包依赖,替换掉项目依赖

idea使用jar包依赖,替换掉项目依赖最近遇到了个问题,父子项目中,原本一个项目在idea下默认是项目依赖于另一个子项目,但是由于当前开发分支里不包含相应的代码,最新代码在别的分支,导致项目依赖时&#xff…

C#中Array.Sort()方法分析

Array.Sort()是在我们日常工作中非常常用的函数,不需要自己编写排序算法就可以方便的对数组进行排序。利用Array.Sort()排序具有以下特点:排序是不稳定的采用内省排序(introspective sort)这里简单解释一下内省排序。内省排序会先…

输入两个整数 n 和 m ,从数列 1 , 2 , 3.......n 中随意取几个数 ,使其和等于 m

转载自:http://blog.sina.com.cn/s/blog_7571423b01016707.html 编程求解:输入两个整数 n 和 m ,从数列 1 , 2 , 3.......n 中随意取几个数 ,使其和等于 m , 要求将其中所有的可能组合列出来. 分析: 主要思…

张高兴的 .NET Core IoT 入门指南:(五)串口通信入门

在开始之前,首先要说明的是串口通信所用到的 SerialPort 类并不包含在 System.Device.Gpio NuGet 包中,而是在 System.IO.Ports NuGet 包中。之所以在这里介绍串口通信,是因为在嵌入式中串口通信是与其他设备进行交互的一种重要方式&#xff…

Caffe 在自己的数据库上训练步骤

回忆ImageNet的步骤:http://caffe.berkeleyvision.org/gathered/examples/imagenet.html Brewing ImageNet This guide is meant to get you ready to train your own model on your own data. If you just want an ImageNet-trained network, then note that sinc…

1024程序员节来啦!!.NET技术圈独家优惠劵,折后再折,赶紧来抢啊

1024程序员节当当网计算机图书每满100减50!满200减100!满300-150!机械工业出版社华章公司联合当当网特意为【DotNET技术圈】用户申请了一批可与满减叠加使用的“满200减30”的图书优惠码,优惠码使用后相当于:400减230 …

你跟最伟大领导的距离,或许只差这一点

译者:宗天琪原文链接:https://www.linkedin.com/pulse/great-leaders-listeners-brigette-hyacinth/?fromgroupmessage&isappinstalled0倾听是领导者需要掌握的最重要的技能,它是很多其它领导才能的基石。然而,要做到精通这项…

Batch_size问题

有关solver.prototxt中的各项解释:http://www.cnblogs.com/denny402/p/5074049.html solver算是caffe的核心的核心,它协调着整个模型的运作。caffe程序运行必带的一个参数就是solver配置文件。运行代码一般为 # caffe train --solver*_slover.prototxt 在…

程序员家的精品大闸蟹:青壳、白底、肉多、爆黄,现在是吃大闸蟹的最佳时期...

其实,我跟大家一样,也是dotNET跨平台和张队长的忠实粉丝,也是一名程序员。上上周,我在dotNET跨平台的优选商城买了队长推荐人生果,也是第一次吃这个人生果,味道鲜甜、汁水也特别多,但由于快递的…

C#刷遍Leetcode面试题系列连载(4): No.633 - 平方数之和

点击蓝字“dotNET匠人”关注我哟加个“星标★”,每日 7:15,好文必达!前文传送门:上篇文章中一道数学问题 - 自除数,今天我们接着分析 LeetCode 中的另一道数学题吧~今天要给大家分析的面试题是 LeetCode 上第 633 号问题&#xff…

程序员过关斩将--数据库的乐观锁和悲观锁并非真实的锁

菜菜哥,告诉你一个消息你有男票啦?非也非也,我昨天出去偷偷面试,结果又挂了哦,看来公司是真的不想让你走呀面试官让我说一下乐观锁和悲观锁,我没回答上来,回来之后我查了,数据库没有…

solverstate的使用

http://blog.csdn.net/wang4959520/article/details/51831637 我们在使用caffe训练过程中会生成.caffemodel和.solverstate文件,一个是模型文件,一个是中间状态文件(生成多少个取决于你自己设定的snapshot)。当训练过程中断&#…

IT从业者的迷思与求解之道——座谈会实录摘选

本次座谈会于上周六开始,由于网络原因,很多国内的小伙伴们没有能够连进去,挺遗憾的。所以我整理了本次座谈会的部分内容,希望能对大家有所帮助。洞察力主持人:大家好我们来自开源社群,今天举行在线it社区的…

准确率、召回率、F1、mAP、ROC、AUC

https://yongyuan-workbench.rhcloud.com/%E4%BF%A1%E6%81%AF%E6%A3%80%E7%B4%A2ir%E7%9A%84%E8%AF%84%E4%BB%B7%E6%8C%87%E6%A0%87%E4%BB%8B%E7%BB%8D-%E5%87%86%E7%A1%AE%E7%8E%87%E3%80%81%E5%8F%AC%E5%9B%9E%E7%8E%87%E3%80%81f1%E3%80%81map%E3%80%81r/准确率、召回率、F1…

从零开始实现ASP.NET Core MVC的插件式开发(六) - 如何加载插件引用

标题:从零开始实现ASP.NET Core MVC的插件式开发(六) - 如何加载插件引用。 作者:Lamond Lu 地址:https://www.cnblogs.com/lwqlun/p/11717254.html源代码:https://github.com/lamondlu/DynamicPlugins前景回顾•••••简介在前…

小波变换基础

http://blog.csdn.net/GarfieldEr007/article/details/50151845 第十二章 小波变换 目录 1 引言 2 连续小波变换 3 二进小波变换 3.1 Haar变换 4 离散小波变换 4.1 多分辨率分析 4.2 快速小波变换算法 4.3 离散小波变换的…

.Net Core3.0使用gRPC

gRPC是什么gRPC是可以在任何环境中运行的现代开源高性能RPC框架。它可以通过可插拔的支持来有效地连接数据中心内和跨数据中心的服务,以实现负载平衡,跟踪,运行状况检查和身份验证。它也适用于分布式计算的最后一英里,以将设备&am…

单链表逆向

转自:http://blog.csdn.net/heyabo/article/details/7610732 对于单链表的逆置有两种方法可以实现: (1)利用辅助指针 基本思想:在遍历结点过程中,设置辅助指针,用于记录先前遍历的结点。这样依次…

中国.NET开发者峰会特别活动-基于k8s的微服务和CI/CD动手实践报名

2019.11.9 的中国.NET开发者峰会将在上海举办,到目前为止,大会的主题基本确定,这两天就会和大家会面,很多社区的同学基于对社区的信任在我们议题没有确定的情况下已经购票超过了300张,而且分享的主题都来自于社区&…