【whr的深度学习总结1】使用Matconvnet训练imbalance全连接网络

本文介绍如何在MatConvNet中通过配置1x1卷积核实现全连接层的功能,分享了一种确保训练数据平衡的方法,以避免模型偏向某一类别。

matconvnet只提供了卷积函数,并没有提供全连接函数,那么如何在卷积函数上训练全连接呢?

首先,我们要清楚一件事:卷积核为1*1同时步长是1的网络就是全连接。

那么配置网络的时候就只需执行卷积函数,同时配置卷积核的大小就可以。

这是我的配置文件:

function net = cnn_crp_init(varargin)
% CNN_MNIST_LENET Initialize a CNN similar for MNIST
opts.batchNormalization = true ;
opts.networkType = 'simplenn' ;
opts = vl_argparse(opts, varargin) ;

rng('default');
rng(0) ;

f=1/100 ;
net.layers = {} ;
net.layers{end+1} = struct('type', 'conv', ...
                           'weights', {
  
  {f*randn(1,1,5000,200, 'single'), zeros(1, 200, 'single')}}, ...
                           'stride', 1, ...
                           'pad', 0) ;
net.layers{end+1} = struct('type', 'relu') ;
net.layers{end+1} = struct('type', 'conv', ...
                           'weights', {
  
  {f*randn(1,1,200,200, 'single'), zeros(1,200,'single')}}, ...
                           'stride', 1, ...
                           'pad', 0)
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值