vgg-16网络结构 matlab程序
来源:互联网 发布:淘宝客单品怎么推广? 编辑:程序博客网 时间:2024/06/07 02:05
lr = [.1 2] ;
net.layers = {} ;
% cbr1
net.layers{end+1} = struct('type', 'conv', ...
'weights', {{0.01*randn(3,3,3,64, 'single'), zeros(1, 64, 'single')}}, ...
'learningRate', lr, ...
'stride', 1, ...
'pad', 1) ;
net.layers{end+1} = struct('type', 'bnorm', ...
'weights', {{ones(64,1, 'single'), zeros(1, 64, 'single')}}, ...
'learningRate', [.1 .1 1], ...
'weightDecay', [0 0]) ;
net.layers{end+1} = struct('type', 'relu') ;
% cbr2
net.layers{end+1} = struct('type', 'conv', ...
'weights', {{0.01*randn(3,3,64,64, 'single'), zeros(1, 64, 'single')}}, ...
'learningRate', lr, ...
'stride', 1, ...
'pad', 1) ;
net.layers{end+1} = struct('type', 'bnorm', ...
'weights', {{ones(64,1, 'single'), zeros(1, 64, 'single')}}, ...
'learningRate', [.1 .1 1], ...
'weightDecay', [0 0]) ;
net.layers{end+1} = struct('type', 'relu') ;
net.layers{end+1} = struct('type', 'pool', ...
'method', 'max', ...
'pool', [2 2], ...
'stride', 2, ...
'pad', 0) ;
% cbr3
net.layers{end+1} = struct('type', 'conv', ...
'weights', {{0.05*randn(3,3,64,128, 'single'), zeros(1,128,'single')}}, ...
'learningRate', lr, ...
'stride', 1, ...
'pad', 1) ;
net.layers{end+1} = struct('type', 'bnorm', ...
'weights', {{ones(128,1, 'single'), zeros(1, 128, 'single')}}, ...
'learningRate', [.1 .1 1], ...
'weightDecay', [0 0]) ;
net.layers{end+1} = struct('type', 'relu') ;
% cbr4
net.layers{end+1} = struct('type', 'conv', ...
'weights', {{0.05*randn(3,3,128,128, 'single'), zeros(1,128,'single')}}, ...
'learningRate', lr, ...
'stride', 1, ...
'pad', 1) ;
net.layers{end+1} = struct('type', 'bnorm', ...
'weights', {{ones(128,1, 'single'), zeros(1, 128, 'single')}}, ...
'learningRate', [.1 .1 1], ...
'weightDecay', [0 0]) ;
'pool', [2 2], ...
'stride', 2, ...
net.layers{end+1} = struct('type', 'conv', ...
'weights', {{0.05*randn(3,3,128,256, 'single'), zeros(1,256,'single')}}, ...
'learningRate', lr, ...
'stride', 1, ...
'pad', 2) ;
net.layers{end+1} = struct('type', 'bnorm', ...
'weights', {{ones(256,1, 'single'), zeros(1, 256, 'single')}}, ...
'learningRate', [.1 .1 1], ...
'weightDecay', [0 0]) ;
net.layers{end+1} = struct('type', 'relu') ;
% cbr6
net.layers{end+1} = struct('type', 'conv', ...
'weights', {{0.05*randn(3,3,256,256, 'single'), zeros(1,256,'single')}}, ...
'learningRate', lr, ...
'stride', 1, ...
'pad', 2) ;
net.layers{end+1} = struct('type', 'bnorm', ...
'weights', {{ones(256,1, 'single'), zeros(1, 256, 'single')}}, ...
'learningRate', [.1 .1 1], ...
'weightDecay', [0 0]) ;
net.layers{end+1} = struct('type', 'relu') ;
% cbr7
net.layers{end+1} = struct('type', 'conv', ...
'weights', {{0.05*randn(3,3,256,256, 'single'), zeros(1,256,'single')}}, ...
'learningRate', lr, ...
'stride', 1, ...
'pad', 2) ;
net.layers{end+1} = struct('type', 'bnorm', ...
'weights', {{ones(256,1, 'single'), zeros(1, 256, 'single')}}, ...
'learningRate', [.1 .1 1], ...
'weightDecay', [0 0]) ;
net.layers{end+1} = struct('type', 'relu') ;
net.layers{end+1} = struct('type', 'pool', ...
'method', 'max', ...
'pool', [2 2], ...
'stride', 2, ...
'pad', 0) ;
% cbr8
net.layers{end+1} = struct('type', 'conv', ...
'weights', {{0.05*randn(3,3,256,512, 'single'), zeros(1,512,'single')}}, ...
'learningRate', lr, ...
'stride', 1, ...
'pad', 2) ;
net.layers{end+1} = struct('type', 'bnorm', ...
'weights', {{ones(512,1, 'single'), zeros(1, 512, 'single')}}, ...
'learningRate', [.1 .1 1], ...
'weightDecay', [0 0]) ;
net.layers{end+1} = struct('type', 'relu') ;
% cbr9
net.layers{end+1} = struct('type', 'conv', ...
'weights', {{0.05*randn(3,3,512,512, 'single'), zeros(1,512,'single')}}, ...
'learningRate', lr, ...
'stride', 1, ...
'pad', 2) ;
net.layers{end+1} = struct('type', 'bnorm', ...
'weights', {{ones(512,1, 'single'), zeros(1, 512, 'single')}}, ...
'learningRate', [.1 .1 1], ...
'weightDecay', [0 0]) ;
net.layers{end+1} = struct('type', 'relu') ;
% cbr10
net.layers{end+1} = struct('type', 'conv', ...
'weights', {{0.05*randn(3,3,512,512, 'single'), zeros(1,512,'single')}}, ...
'learningRate', lr, ...
'stride', 1, ...
'pad', 2) ;
net.layers{end+1} = struct('type', 'bnorm', ...
'weights', {{ones(512,1, 'single'), zeros(1, 512, 'single')}}, ...
'learningRate', [.1 .1 1], ...
'weightDecay', [0 0]) ;
net.layers{end+1} = struct('type', 'relu') ;
net.layers{end+1} = struct('type', 'pool', ...
'method', 'max', ...
'pool', [2 2], ...
'stride', 2, ...
'pad', 0) ;
%cbr11
net.layers{end+1} = struct('type', 'conv', ...
'weights', {{0.05*randn(3,3,512,512, 'single'), zeros(1,512,'single')}}, ...
'learningRate', lr, ...
'stride', 1, ...
'pad', 2) ;
net.layers{end+1} = struct('type', 'bnorm', ...
'weights', {{ones(512,1, 'single'), zeros(1, 512, 'single')}}, ...
'learningRate', [.1 .1 1], ...
'weightDecay', [0 0]) ;
net.layers{end+1} = struct('type', 'relu') ;
% cbr12
net.layers{end+1} = struct('type', 'conv', ...
'weights', {{0.05*randn(3,3,512,512, 'single'), zeros(1,512,'single')}}, ...
'learningRate', lr, ...
'stride', 1, ...
'pad', 2) ;
net.layers{end+1} = struct('type', 'bnorm', ...
'weights', {{ones(512,1, 'single'), zeros(1, 512, 'single')}}, ...
'learningRate', [.1 .1 1], ...
'weightDecay', [0 0]) ;
net.layers{end+1} = struct('type', 'relu') ;
% cbr13
net.layers{end+1} = struct('type', 'conv', ...
'weights', {{0.05*randn(3,3,512,512, 'single'), zeros(1,512,'single')}}, ...
'learningRate', lr, ...
'stride', 1, ...
'pad', 2) ;
net.layers{end+1} = struct('type', 'bnorm', ...
'weights', {{ones(512,1, 'single'), zeros(1, 512, 'single')}}, ...
'learningRate', [.1 .1 1], ...
'weightDecay', [0 0]) ;
net.layers{end+1} = struct('type', 'relu') ;
net.layers{end+1} = struct('type', 'pool', ...
'method', 'max', ...
'pool', [2 2], ...
'stride', 2, ...
'pad', 0) ;
%fc1
net.layers{end+1} = struct('type', 'conv', ...
'weights', {{0.05*randn(7,7,512,4096, 'single'), zeros(1,4096,'single')}}, ...
'learningRate', lr, ...
'stride', 1, ...
'pad', 0) ;
% fc2
net.layers{end+1} = struct('type', 'conv', ...
'weights', {{0.05*randn(1,1,4096,4096, 'single'), zeros(1,4096,'single')}}, ...
'learningRate', .1*lr, ...
'stride', 1, ...
'pad', 0) ;
% fc3
net.layers{end+1} = struct('type', 'conv', ...
'weights', {{0.05*randn(1,1,4096,1000, 'single'), zeros(1,1000,'single')}}, ...
'learningRate', .1*lr, ...
'stride', 1, ...
'pad', 0) ;
% Loss layer
net.layers{end+1} = struct('type', 'softmaxloss') ;
net.layers = {} ;
% cbr1
net.layers{end+1} = struct('type', 'conv', ...
'weights', {{0.01*randn(3,3,3,64, 'single'), zeros(1, 64, 'single')}}, ...
'learningRate', lr, ...
'stride', 1, ...
'pad', 1) ;
net.layers{end+1} = struct('type', 'bnorm', ...
'weights', {{ones(64,1, 'single'), zeros(1, 64, 'single')}}, ...
'learningRate', [.1 .1 1], ...
'weightDecay', [0 0]) ;
net.layers{end+1} = struct('type', 'relu') ;
% cbr2
net.layers{end+1} = struct('type', 'conv', ...
'weights', {{0.01*randn(3,3,64,64, 'single'), zeros(1, 64, 'single')}}, ...
'learningRate', lr, ...
'stride', 1, ...
'pad', 1) ;
net.layers{end+1} = struct('type', 'bnorm', ...
'weights', {{ones(64,1, 'single'), zeros(1, 64, 'single')}}, ...
'learningRate', [.1 .1 1], ...
'weightDecay', [0 0]) ;
net.layers{end+1} = struct('type', 'relu') ;
net.layers{end+1} = struct('type', 'pool', ...
'method', 'max', ...
'pool', [2 2], ...
'stride', 2, ...
'pad', 0) ;
% cbr3
net.layers{end+1} = struct('type', 'conv', ...
'weights', {{0.05*randn(3,3,64,128, 'single'), zeros(1,128,'single')}}, ...
'learningRate', lr, ...
'stride', 1, ...
'pad', 1) ;
net.layers{end+1} = struct('type', 'bnorm', ...
'weights', {{ones(128,1, 'single'), zeros(1, 128, 'single')}}, ...
'learningRate', [.1 .1 1], ...
'weightDecay', [0 0]) ;
net.layers{end+1} = struct('type', 'relu') ;
% cbr4
net.layers{end+1} = struct('type', 'conv', ...
'weights', {{0.05*randn(3,3,128,128, 'single'), zeros(1,128,'single')}}, ...
'learningRate', lr, ...
'stride', 1, ...
'pad', 1) ;
net.layers{end+1} = struct('type', 'bnorm', ...
'weights', {{ones(128,1, 'single'), zeros(1, 128, 'single')}}, ...
'learningRate', [.1 .1 1], ...
'weightDecay', [0 0]) ;
net.layers{end+1} = struct('type', 'relu') ;
net.layers{end+1} = struct('type', 'pool', ...
'method', 'max', ...'pool', [2 2], ...
'stride', 2, ...
'pad', 0) ;
% cbr5net.layers{end+1} = struct('type', 'conv', ...
'weights', {{0.05*randn(3,3,128,256, 'single'), zeros(1,256,'single')}}, ...
'learningRate', lr, ...
'stride', 1, ...
'pad', 2) ;
net.layers{end+1} = struct('type', 'bnorm', ...
'weights', {{ones(256,1, 'single'), zeros(1, 256, 'single')}}, ...
'learningRate', [.1 .1 1], ...
'weightDecay', [0 0]) ;
net.layers{end+1} = struct('type', 'relu') ;
% cbr6
net.layers{end+1} = struct('type', 'conv', ...
'weights', {{0.05*randn(3,3,256,256, 'single'), zeros(1,256,'single')}}, ...
'learningRate', lr, ...
'stride', 1, ...
'pad', 2) ;
net.layers{end+1} = struct('type', 'bnorm', ...
'weights', {{ones(256,1, 'single'), zeros(1, 256, 'single')}}, ...
'learningRate', [.1 .1 1], ...
'weightDecay', [0 0]) ;
net.layers{end+1} = struct('type', 'relu') ;
% cbr7
net.layers{end+1} = struct('type', 'conv', ...
'weights', {{0.05*randn(3,3,256,256, 'single'), zeros(1,256,'single')}}, ...
'learningRate', lr, ...
'stride', 1, ...
'pad', 2) ;
net.layers{end+1} = struct('type', 'bnorm', ...
'weights', {{ones(256,1, 'single'), zeros(1, 256, 'single')}}, ...
'learningRate', [.1 .1 1], ...
'weightDecay', [0 0]) ;
net.layers{end+1} = struct('type', 'relu') ;
net.layers{end+1} = struct('type', 'pool', ...
'method', 'max', ...
'pool', [2 2], ...
'stride', 2, ...
'pad', 0) ;
% cbr8
net.layers{end+1} = struct('type', 'conv', ...
'weights', {{0.05*randn(3,3,256,512, 'single'), zeros(1,512,'single')}}, ...
'learningRate', lr, ...
'stride', 1, ...
'pad', 2) ;
net.layers{end+1} = struct('type', 'bnorm', ...
'weights', {{ones(512,1, 'single'), zeros(1, 512, 'single')}}, ...
'learningRate', [.1 .1 1], ...
'weightDecay', [0 0]) ;
net.layers{end+1} = struct('type', 'relu') ;
% cbr9
net.layers{end+1} = struct('type', 'conv', ...
'weights', {{0.05*randn(3,3,512,512, 'single'), zeros(1,512,'single')}}, ...
'learningRate', lr, ...
'stride', 1, ...
'pad', 2) ;
net.layers{end+1} = struct('type', 'bnorm', ...
'weights', {{ones(512,1, 'single'), zeros(1, 512, 'single')}}, ...
'learningRate', [.1 .1 1], ...
'weightDecay', [0 0]) ;
net.layers{end+1} = struct('type', 'relu') ;
% cbr10
net.layers{end+1} = struct('type', 'conv', ...
'weights', {{0.05*randn(3,3,512,512, 'single'), zeros(1,512,'single')}}, ...
'learningRate', lr, ...
'stride', 1, ...
'pad', 2) ;
net.layers{end+1} = struct('type', 'bnorm', ...
'weights', {{ones(512,1, 'single'), zeros(1, 512, 'single')}}, ...
'learningRate', [.1 .1 1], ...
'weightDecay', [0 0]) ;
net.layers{end+1} = struct('type', 'relu') ;
net.layers{end+1} = struct('type', 'pool', ...
'method', 'max', ...
'pool', [2 2], ...
'stride', 2, ...
'pad', 0) ;
%cbr11
net.layers{end+1} = struct('type', 'conv', ...
'weights', {{0.05*randn(3,3,512,512, 'single'), zeros(1,512,'single')}}, ...
'learningRate', lr, ...
'stride', 1, ...
'pad', 2) ;
net.layers{end+1} = struct('type', 'bnorm', ...
'weights', {{ones(512,1, 'single'), zeros(1, 512, 'single')}}, ...
'learningRate', [.1 .1 1], ...
'weightDecay', [0 0]) ;
net.layers{end+1} = struct('type', 'relu') ;
% cbr12
net.layers{end+1} = struct('type', 'conv', ...
'weights', {{0.05*randn(3,3,512,512, 'single'), zeros(1,512,'single')}}, ...
'learningRate', lr, ...
'stride', 1, ...
'pad', 2) ;
net.layers{end+1} = struct('type', 'bnorm', ...
'weights', {{ones(512,1, 'single'), zeros(1, 512, 'single')}}, ...
'learningRate', [.1 .1 1], ...
'weightDecay', [0 0]) ;
net.layers{end+1} = struct('type', 'relu') ;
% cbr13
net.layers{end+1} = struct('type', 'conv', ...
'weights', {{0.05*randn(3,3,512,512, 'single'), zeros(1,512,'single')}}, ...
'learningRate', lr, ...
'stride', 1, ...
'pad', 2) ;
net.layers{end+1} = struct('type', 'bnorm', ...
'weights', {{ones(512,1, 'single'), zeros(1, 512, 'single')}}, ...
'learningRate', [.1 .1 1], ...
'weightDecay', [0 0]) ;
net.layers{end+1} = struct('type', 'relu') ;
net.layers{end+1} = struct('type', 'pool', ...
'method', 'max', ...
'pool', [2 2], ...
'stride', 2, ...
'pad', 0) ;
%fc1
net.layers{end+1} = struct('type', 'conv', ...
'weights', {{0.05*randn(7,7,512,4096, 'single'), zeros(1,4096,'single')}}, ...
'learningRate', lr, ...
'stride', 1, ...
'pad', 0) ;
% fc2
net.layers{end+1} = struct('type', 'conv', ...
'weights', {{0.05*randn(1,1,4096,4096, 'single'), zeros(1,4096,'single')}}, ...
'learningRate', .1*lr, ...
'stride', 1, ...
'pad', 0) ;
% fc3
net.layers{end+1} = struct('type', 'conv', ...
'weights', {{0.05*randn(1,1,4096,1000, 'single'), zeros(1,1000,'single')}}, ...
'learningRate', .1*lr, ...
'stride', 1, ...
'pad', 0) ;
% Loss layer
net.layers{end+1} = struct('type', 'softmaxloss') ;
2 0
- vgg-16网络结构 matlab程序
- 【深度学习】VGG-16网络结构
- ResNet, AlexNet, VGG, Inception: 理解各种卷积网络的结构
- matlab 2017 vgg使用
- 深度网络VGG理解
- Tensorflow --VGG网络
- VGG网络笔记整理
- 深度学习: VGG 网络
- Tensorflow cnn网络 vgg可视化
- 常用网络模型结构LeNet,AlexNET,VGG,BN-inception,ResNet网络模型简介和资料整理--caffe学习(8)
- VGG-16 prototxt
- VGG-16 prototxt
- MXNET VGG-16 Params
- VGG 16 prototxt
- VGG
- VGG
- VGG
- VGG
- C++的多文件结构
- 互联网支付-数据移植总结
- 全连接神经网络matlab实现
- 汇编指令
- ubuntu16.04 Anaconda多版本运行
- vgg-16网络结构 matlab程序
- jQuery
- Java排序算法之归并排序
- yii2搭建完美后台并实现rbac权限控制实例教程
- android stadio open recent 在同一窗口打开
- 闭包
- zigbee
- (转)二叉树算法引发的思考:指针参数传递、引用的陷阱
- SparkSQL 入门操作