Matconvnet 的一些记录

 

Matconvnet 的一些记录

 

Example code from ADNet: Action-Decision Networks for Visual Tracking with Deep Reinforcement Learning [Paper]

GitHubhttps://github.com/hellbell/ADNet

1. 加载一个模型,然后去掉某些层,,如将 Conv + fc 改为 全卷机的(only Conv):

function [net, net_conv, net_fc] = split_dagNN(net)

net.move('cpu');
net_fc = copy(net);
net_conv = copy(net);

% remove the fc layers, only the convolutional layers remained. 
layer_names = {};
for ii = 1 : 10
    layer_names{ii} = net_fc.layers(ii).name;
end
net_fc.removeLayer(layer_names);
net_fc.rebuild();

% remove the convolutional layers, and only the fc layers remained. 
layer_names = {};
for ii = 11 : numel(net.layers)
    layer_names{ii-10} = net_conv.layers(ii).name;
end
net_conv.removeLayer(layer_names);
net_conv.rebuild(); 

net.move('gpu');

net_fc.rebuild();

 

2. 得到特定 layer 的索引和值(index 和 value):

tutorial from:http://www.vlfeat.org/matconvnet/quick/

% run the CNN
net.eval({'data', im_}) ;

% obtain the CNN otuput
scores = net.vars(net.getVarIndex('prob')).value ;  %% net.getVarIndex('prob')---> 是分类输出概率的那个 layer 的index XXX,然后 net.var(XXX).value 输出的是:对应 XXX 的特定概率值。
scores = squeeze(gather(scores)) ;  %% gather 应该是将 GPU data 转为 CPU data 的方法 

 

3.   

 

转载于:https://www.cnblogs.com/wangxiaocvpr/p/8268292.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值