MATLAB下跑Faster-RCNN+ZF实验时如何编译自己需要的external文件

2024-05-12 18:38

本文主要是介绍MATLAB下跑Faster-RCNN+ZF实验时如何编译自己需要的external文件,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

转自:http://blog.csdn.net/qq_32224767/article/details/69945733

本篇文章主讲这篇博客中的(http://blog.csdn.net/sinat_30071459/article/details/50546891)的这个部分,如图所示

    

注:截图来自 小咸鱼_ 的博客。


也就是说本文重点教你如何去编译你自己需要的mex文件。

1.准备工作

首先先提醒一下,假如你的显卡的显存还不够3G,那么快去换设备吧,不然好不容易搭好了环境发现实验跑不了岂不是很坑??
        话说我之前也是不会自己编译,也是从网上各种找别人编译好的external文件,然后按照别人的软件环境,再从自己的电脑上装相应的环境,简直烦!于是终于决定自己学一学怎么去自己编译需要的external文件,好了,废话不多说,让我们进入正题。

        1)所需软件

        我先说明一下我用到的软件:(1)VS2013(update5版本的,不是的话自己去升级,升级的方法戳这里)

                                                       (2)MATLAB2014b(你可以装其他版本的,这个你随意)
                                                       (3)CUDA6.5(你同样可以装其他你需要的版本)
                                                       (4)openCV 2.4.9(没有的话戳这里,提取密码: c6b2)
                                                       (5)boost_1_57_0(没有的话还是戳这里,提取密码:fiy7)
                                                       (6)MKL(还是戳这里,提取密码:pwi7)

上面的安装顺序最好不要乱,否则可能出现Matlab找不到vs的情况,在Matlab命令行窗口输入:mbuild -setup,如果出现:


说明 Matlab可以找到 vs2013。 CUDA应在安装 vs2013后再安装。

        2)下载需要的代码文件夹

        安装完毕后我们需要下载caffe_library和caffe-faster-R-CNN这两个文件夹(需要的话戳这里,提取密码: nbsn),这个不用我多说。将caffe-faster-R-CNN里面的文件全部拷贝到.\caffe_library\caffe中去。

2.开始编译

        1)假如你用到的CUDA不是6.5的话,需要进行这一步。是的6.5的话可以直接跳过!

                     用记事本打开.\caffe_library\caffe\windows\caffe下面的 caffe.vcxproj文件
                          
                        
                修改里面的CUDA版本号为自己所使用的CUDA版本号!一共有两处要改。例如你用的是CUDA8.0,那么你           就把6.5改成8.0就行了。
        2)用VS2013打开.\caffe_library下的caffe.sln
        3)更改VC++目录中包含目录库目录的路径,按照自己的路径修改。
                     在这里提一下,我们在安装MKL的时候好像并没有提供安装路径的选择,所以有的人可能找不到mkl的                        路径,别着急,你可以参考一下我的路径,应该能帮助你找到你的

              

                  你说什么?你不知道怎么去修改??   自己百度去吧。。。尴尬

        4)为caffe添加maltlab需要的文件。属性->C/C++->常规->附加包含目录。添加/你的MATLAB路                        径/extern/include 和 /你的MATLAB路径/toolbox/distcomp/gpu/extern/include


     5设置caffe为启动项目

        6)重新生成caffe解决方案

                       

                  经过漫长的等待,如果一切顺利的话最后应该是成功生成两个。

3.制作external文件

        说是“制作”,其实就是:
        1)将.\caffe_library\x64\Release_Mex中所有的文件拷贝到 :.\faster_rcnn-                                              master\external\caffe\matlab\caffe_faster_rcnn 中去。(目录中没有的文件夹自己创建)
        2)然后再将.\caffe-faster-R-CNN\matlab 里面的 +caffe文件夹同样拷贝到.\faster_rcnn-                              master\external\caffe\matlab\caffe_faster_rcnn 中去。
    最后就是这种效果:
               

        到这里,我们所需要的external文件夹就制作完成了!

4.测试external文件是否可用

        在MATLAB中运行faster_rcnn_build.m脚本,这里记得修改.\faster_rcnn-master\functions\nms下的

                 nvmex.m文件中的第八行

                   

修改为你自己的VS安装路径即可,其他地方不用动!


最后我们运行faster_rcnn_build.m,运行结果如下:


如果你也是这样的话,那么就没什么问题了!我编译好的external文件戳这里(提取密码:9ddu)下载~~~~~


这里说明一下,据本人亲测,编译external文件和windows版本应该没什么关系(至少win7和win10通用,本人亲测!),也就是说同样的软件环境下  win7下编译的external文件挪到win10上一样能用,只要你的软件环境相同就行!

这篇关于MATLAB下跑Faster-RCNN+ZF实验时如何编译自己需要的external文件的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/983427

相关文章

关于数据埋点,你需要了解这些基本知识

产品汪每天都在和数据打交道,你知道数据来自哪里吗? 移动app端内的用户行为数据大多来自埋点,了解一些埋点知识,能和数据分析师、技术侃大山,参与到前期的数据采集,更重要是让最终的埋点数据能为我所用,否则可怜巴巴等上几个月是常有的事。   埋点类型 根据埋点方式,可以区分为: 手动埋点半自动埋点全自动埋点 秉承“任何事物都有两面性”的道理:自动程度高的,能解决通用统计,便于统一化管理,但个性化定

业务中14个需要进行A/B测试的时刻[信息图]

在本指南中,我们将全面了解有关 A/B测试 的所有内容。 我们将介绍不同类型的A/B测试,如何有效地规划和启动测试,如何评估测试是否成功,您应该关注哪些指标,多年来我们发现的常见错误等等。 什么是A/B测试? A/B测试(有时称为“分割测试”)是一种实验类型,其中您创建两种或多种内容变体——如登录页面、电子邮件或广告——并将它们显示给不同的受众群体,以查看哪一种效果最好。 本质上,A/B测

maven 编译构建可以执行的jar包

💝💝💝欢迎莅临我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:「stormsha的主页」👈,「stormsha的知识库」👈持续学习,不断总结,共同进步,为了踏实,做好当下事儿~ 专栏导航 Python系列: Python面试题合集,剑指大厂Git系列: Git操作技巧GO

matlab读取NC文件(含group)

matlab读取NC文件(含group): NC文件数据结构: 代码: % 打开 NetCDF 文件filename = 'your_file.nc'; % 替换为你的文件名% 使用 netcdf.open 函数打开文件ncid = netcdf.open(filename, 'NC_NOWRITE');% 查看文件中的组% 假设我们想读取名为 "group1" 的组groupName

STM32(十一):ADC数模转换器实验

AD单通道: 1.RCC开启GPIO和ADC时钟。配置ADCCLK分频器。 2.配置GPIO,把GPIO配置成模拟输入的模式。 3.配置多路开关,把左面通道接入到右面规则组列表里。 4.配置ADC转换器, 包括AD转换器和AD数据寄存器。单次转换,连续转换;扫描、非扫描;有几个通道,触发源是什么,数据对齐是左对齐还是右对齐。 5.ADC_CMD 开启ADC。 void RCC_AD

利用matlab bar函数绘制较为复杂的柱状图,并在图中进行适当标注

示例代码和结果如下:小疑问:如何自动选择合适的坐标位置对柱状图的数值大小进行标注?😂 clear; close all;x = 1:3;aa=[28.6321521955954 26.2453660695847 21.69102348512086.93747104431360 6.25442246899816 3.342835958564245.51365061796319 4.87

C# double[] 和Matlab数组MWArray[]转换

C# double[] 转换成MWArray[], 直接赋值就行             MWNumericArray[] ma = new MWNumericArray[4];             double[] dT = new double[] { 0 };             double[] dT1 = new double[] { 0,2 };

Windows环境利用VS2022编译 libvpx 源码教程

libvpx libvpx 是一个开源的视频编码库,由 WebM 项目开发和维护,专门用于 VP8 和 VP9 视频编码格式的编解码处理。它支持高质量的视频压缩,广泛应用于视频会议、在线教育、视频直播服务等多种场景中。libvpx 的特点包括跨平台兼容性、硬件加速支持以及灵活的接口设计,使其可以轻松集成到各种应用程序中。 libvpx 的安装和配置过程相对简单,用户可以从官方网站下载源代码

HNU-2023电路与电子学-实验3

写在前面: 一、实验目的 1.了解简易模型机的内部结构和工作原理。 2.分析模型机的功能,设计 8 重 3-1 多路复用器。 3.分析模型机的功能,设计 8 重 2-1 多路复用器。 4.分析模型机的工作原理,设计模型机控制信号产生逻辑。 二、实验内容 1.用 VERILOG 语言设计模型机的 8 重 3-1 多路复用器; 2.用 VERILOG 语言设计模型机的 8 重 2-1 多

Golang test编译使用

创建文件my_test.go package testsimport "testing"func TestMy(t *testing.T) {t.Log("TestMy")} 通常用法: $ go test -v -run TestMy my_test.go=== RUN TestMyTestMy: my_test.go:6: TestMy--- PASS: TestMy (0.