资源简介
该算法内容介绍很详细 算法步骤也容易看懂 在此分享给大家
代码片段和文件信息
function [cost grad preds] = cnnCost(theta images labelscnnConfig meta pred)
% Calcualte cost and gradient for a single layer convolutional
% neural network followed by a softmax layer with cross entropy
% objective.
%
% Parameters:
% theta - a vector parameter
% images - stores images in imageDim x imageDim x channel x numImges
% array
% labels - for softmax output layer and cross entropy cost function
% the labels are the class numbers.
% pred - boolean only forward propagate and return
% predictions
%
% Returns:
% cost - cross entropy cost
% grad - gradient with respect to theta (if pred==False)
% preds - list of predictions for each example (if pred==True)
if ~exist(‘pred‘‘var‘)
pred = false;
end;
theta = thetaChange(thetameta‘vec2stack‘cnnConfig);
%%======================================================================
%% STEP 1a: Forward Propagation
numlayers = size(theta 1);
numImages = size(images4);
layersizes = meta.layersize;
temp = cell(numlayers 1);
grad = cell(numlayers 1);
temp{1}.after = images;
assert(isequal(size(images)[layersizes{1} numImages])‘layersize do not match at layer 1‘);
for l = 2 : numlayers
templayer = cnnConfig.layer{l};
tempTheta = theta{l};
switch templayer.type
case ‘conv‘
[temp{l}.after temp{l}.linTrans] = cnnConvolve(temp{l-1}.after tempTheta.W tempTheta.b templayer.nonLinearType templayer.conMatrix);
case ‘pool‘
[temp{l}.after temp{l}.weights] = cnnPool(templayer.poolDim temp{l-1}.after templayer.poolType);
case ‘stack2line‘
temp{l}.after = reshape(temp{l-1}.after [] numImages);
case {‘sigmoid‘‘tanh‘‘relu‘‘softmax‘}
temp{l}.after = nonlinear(temp{l-1}.after tempTheta.W tempTheta.b templayer.type);
case ‘softsign‘
[temp{l}.after temp{l}.linTrans] = nonlinear(temp{l-1}.after tempTheta.W tempTheta.b templayer.type);
end
assert(isequal(size(temp{l}.after)[layersizes{l} numImages])‘layersize do not match at layer %d\n‘l);
end
%%======================================================================
%% STEP 1b: Calculate Cost
% Makes predictions given probs and returns without backproagating errors.
if pred
[~preds] = max(temp{numlayers}.after[]1);
preds = preds‘;
cost = 0;
grad = 0;
return;
end;
switch cnnConfig.costFun
case ‘crossEntropy‘
numClasses = cnnConfig.layer{numlayers}.dimension;
extLabels = zeros(numClasses numImages);
extLabels(sub2ind(size(extLabels) labels‘ 1 : numImages)) = 1;
cost = - mean(sum(extLabels .* log(temp{numlayers}.after)));
end
%%======================================================================
%% STEP 1c: Backpropagation
if strcmp(cnnConfig.costFun ‘crossEntropy‘) && strcmp(templayer.type ‘softmax‘)
temp{l}.gradBefore = t
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
....... 8029 2014-03-16 21:06 0000\cnnCost.m
....... 2619 2014-03-16 21:06 0000\cnnInitParams.m
....... 826 2014-03-16 21:06 0000\Dataset\MNIST\loadMNISTImages.m
....... 516 2014-03-16 21:06 0000\Dataset\MNIST\loadMNISTLabels.m
....... 7840016 2014-03-16 21:06 0000\Dataset\MNIST\t10k-images-idx3-ubyte
....... 10008 2014-03-16 21:06 0000\Dataset\MNIST\t10k-labels-idx1-ubyte
....... 47040016 2014-03-16 21:06 0000\Dataset\MNIST\train-images-idx3-ubyte
....... 60008 2014-03-16 21:06 0000\Dataset\MNIST\train-labels-idx1-ubyte
....... 1250 2014-03-16 21:06 0000\DebugTools\computeNumericalGradient.m
....... 2647 2014-03-16 21:06 0000\DebugTools\display_network.m
....... 679 2014-03-16 21:06 0000\DebugTools\grad_check.m
....... 733 2014-03-16 21:06 0000\DebugTools\samplePatches.m
....... 2647 2014-03-16 21:06 0000\DebugTools\thetaChange.m
文件 3179 2016-06-02 09:16 0000\Demo\cnnTrain.m
文件 794 2016-05-31 11:20 0000\Demo\config.m
文件 1171 2016-05-11 10:34 0000\Demo\configTestGradient.m
....... 3133 2014-03-16 21:06 0000\la
....... 1403 2014-03-16 21:06 0000\la
....... 2525 2014-03-16 21:06 0000\la
....... 988 2014-03-16 21:06 0000\la
....... 3956 2014-03-16 21:06 0000\la
....... 231 2014-03-16 21:06 0000\la
....... 18026 2014-03-16 21:06 0000\LICENSE
....... 2108 2014-03-16 21:06 0000\README.md
....... 102 2014-03-16 21:06 0000\Testing\test.m
....... 1718 2014-03-16 21:06 0000\Testing\testGradCom.m
....... 93 2014-03-16 21:06 0000\Testing\testInit.m
....... 651 2014-03-16 21:06 0000\Testing\testThetaChange.m
....... 2538 2014-03-16 21:06 0000\TrainingMethod\minFuncSGD.m
目录 0 2014-03-16 21:06 0000\Dataset\MNIST
............此处省略10个文件信息
- 上一篇:oA办公系统源码MyOffice
- 下一篇:员工管理系统数据结构
相关资源
- 模式分类_答案_第二版_全
- JT/414-2006道路运输电子政务平台 信息
- 模式分类第二版答案(全) Solution
-
OpenCV生成xm
l分类器文件 - CNN实现的图像检索
- 基于Hadoop架构的文本分类算法
- 数据挖掘文本分类语料库中文-李荣陆
- SVM工具箱,用于数据的回归、预测以
- 图像分类SVM
- 图像分类代码
- 基于概率密度分布一致约束的最小最
- 车辆分类检测正负样本共计1000张
- 仿美团弹出分类选择框左右两个list
- 2019年信息系统项目管理师考试葵花宝
- 淘宝分类ID,类目列表,详情准确,类
- 图像融合 CNN.zip
- 3万个药品及说明书,规格厂家、常用
- 中国土壤系统分类检索(第三版)
- tensorflow深度学习CNN智能识别车牌
- Deep Web数据源分类模型研究
- ANN: Approximate Nearest Neighbors近似最近邻
- 李宏毅课件卷积神经网络CNN课件笔记
- SVMCLS 文本自动分类器可编译Release完整
- NLPCC2014情感分类语料集+已经标注好
- 模式分类 Richard O.Duda第二版 (代码和
- machine-learning-ex3编程作业:多元分类与
- 美国卡耐基大学垃圾邮件分类数据集
- Combining Pattern Classifie Methods and Algori
- RCNN目标检测论文
- 实现人体步态检测和基于步态的人体
评论
共有 条评论