matlab进行深度学习MatCovNet
MatCovNet官网 http://www.vlfeat.org/matconvnet/
深度学习在object tracking中的使用也越来越多,从去年的VOT结果来看,很多tracker都应用了convolution feature,整体效果都比之前的方法提高了一大截,所以学习deep learning需要提上日程了。看了HCF以及C-COT的源码,都运用到了matlab的深度学习工具---MatConvNet,所以关于它的使用了解了一番。
1、首先是下载,可以到http://www.vlfeat.org/matconvnet/去下载,不过C-COT的作者Martin大神的源码的说明文档readme中也提供了github的下载链接
2、通过执行 mex -setup 来设置matlab的C++编译器(VS2010 or greater)
3、将MatConvNet的path加到matlab路径中去
-
cd matconvnet-master
-
addpath matlab
4、需要Compile MatConvNet。
vl_compilenn
当然,最好是写一个文件,执行3.4步。
比如,CompileCPU.m
-
% Compiling for CPU
-
addpath matlab
-
vl_compilenn
如果想应用GPU计算,需要写成CompileGPU.m
这里需要注意,目前MatConvNet只支持英伟达的显卡,我看了一下我的台式机的显卡是intel的集成显卡,不能用,汗。所以,这里还是先介绍在CPU下进行处理的方式。
5、加载预训练的模型。
需要从官网下载一个network(也就是 a pre-trained CNN)
链接戳 http://www.vlfeat.org/matconvnet/pretrained/
6、setup MatConvNet。
run matlab/vl_setupnn
7、 load the pre-trained CNN。
net = load('D:\MenghanZhou\matlab_work\ToolsBoxes\networks\imagenet-vgg-m-2048.mat');
这里的net是一个预训练模型,是一个线性链组成的网络。它是一个结构体的形式:
其中,layers有21层(不同的预训练模型的卷积层数目不同)
meta包含3个结构体
classes是已经训练好的模型对事物的1000种分类。
---------------------------我是分割线-----------------------------
来看一个例子,利用VGG已经训练好的模型对这张图片分类。
代码如下:
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了