• CAFFE学习笔记(三)在VS2013下生成需要的exe文件


    如我们所知,CAFFE_ROOT下有一个文件夹叫tools,里面中有许多cpp文件,它们各自有其不同的功能。但是很显然,当我们要完成某样工作时,我们是不能直接用cpp文件的,只能用exe文件。如何利用这些cpp文件生成exe文件呢?这就是本次博客的主题。请记住,一大堆繁琐的配置不是目的,我们的目标是成功compile和build文件夹tools中的cpp文件,以生成所需要的exe文件。

    关于如何配置,给出一个不错的参考文件:《windows+caffe+vs2013+cuda6.5配置记录》。

    没错就是它。之所以说这个写得不错,是因为作者真心写得非常详细,基本上一路照他说的做就可以了。

    1 与参考文件的不同之处

    1、一些名称上的变化

    参考文件给出的一些文件名称、环境变量名等可能与你计算机中的不一样,拿我自己的为例:

    (1)CUDA_PATH_V6_5

    我这里安装的是cuda7.0,所以这里面凡是写CUDA_PATH_V6_5的应该统统改成CUDA_PATH_V7_0。

    (2)BOOST_1_56

    caffe压缩包解压后,打开VS的“项目→属性→VC++目录→包含目录”,可以发现给出的是“BOOST_1_56_0”,因此在设置环境变量时,应该保持一致,写成“BOOST_1_56_0”。

    2、一些与参考文件不同之处

    (1)原文3.4.3里“编译./src/util中的文件”把cu文件也添加进去了,其实不必添加cu文件,把cpp装载进去就好。

    (2)原文中“在db.cpp中作如下修改...CHECK_EQ”这一步都去掉,不知道是不是会有什么不好的影响。

    2 怎么生成exe文件?

    (1)对caffe压缩包解压后,由于“项目→属性”中给出的是相对路径,所以基本上不需要做什么变更,保持原样就好。解压后得到的文件夹里是这样的:

     

    双击Caffe.sln,即可进入VS2013界面。

    (2)进入后记得把正上方Debug旁边的win32改成x64,否则里面的每一个源文件都无法编译:

     

    如果各源文件上方的#include文件打波浪线了,则说明包含文件路径没有设置好;或者包含路径设置好了,却没有把上图的win32改成x64。

    (3)现在VS2013的左边栏中的内容如图所示。配置了半天,我们要做什么用,怎么用呢?其关键就在于文件夹“tools”!

     

    在tools中一次只能放一个源文件,该源文件拥有着“main”函数,也就是整个程序的入口。在不同的场合,我们具有不同的需求,也就是说一次性tools文件夹内只允许有一个源文件。比如当我们想跑mnist时,该文件夹内就载入caffe.cpp;如果想要将自己的图像数据转成leveldb格式,则该文件夹内就载入convert_imageset.cpp。在CAFFE_ROOT ools中提供了多个这样的源文件,可按需取用。

     

    当build完毕后,在CAFFE_ROOTx64Debug中将会出现一个Caffe.exe文件,这就是可执行文件。在很多脚本文件里需要设置可执行文件的路径,指的就是这个可执行文件。

     

    (4)当生成caffe.cpp的可执行文件后,如果再往tools文件夹中载入第二个cpp文件(如convert_imageset.cpp)并build,则当前Caffe.exe的内容(即caffe.cpp的内容)将会被抹除掉。一个好的方法就是先给Caffe.exe重命名一下(比如改名成total.exe)然后再build新的cpp文件,这样就可以把两个可执行文件都保留下来了。

     

    2016.5.12

    by 悠望南山

  • 相关阅读:
    Rails 5 Test Prescriptions 第6章Adding Data to Tests
    Rails 5 Test Prescriptions 第4章 什么制造了伟大的测试
    Rails 5 Test Prescriptions 第3章Test-Driven Rails
    VisualBasic6.0程序设计教程(第4版)(普通高等教育“十一五”国家级规划教材)
    Word Excel PPT 2016三合一办公应用实战从入门到精通 超值版
    R语言数据挖掘方法及应用
    Word--Excel 2016商务办公实战从新手到高手
    妙哉!Excel数据分析与处理就该这么学
    Visual C++串口通信开发入门与编程实践
    Hello C 语言
  • 原文地址:https://www.cnblogs.com/NanShan2016/p/5487120.html
Copyright © 2020-2023  润新知