资源简介
这个CNN工具箱只用改一两个地方就可以对自己的数据集分类了 比github上的deeplearning的工具箱里的CNN改动要简单
代码片段和文件信息
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
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2014-03-16 21:06 cnn-master\
文件 8029 2014-03-16 21:06 cnn-master\cnnCost.m
文件 2619 2014-03-16 21:06 cnn-master\cnnInitParams.m
目录 0 2014-03-16 21:06 cnn-master\Dataset\
目录 0 2014-03-16 21:06 cnn-master\Dataset\MNIST\
文件 826 2014-03-16 21:06 cnn-master\Dataset\MNIST\loadMNISTImages.m
文件 516 2014-03-16 21:06 cnn-master\Dataset\MNIST\loadMNISTLabels.m
文件 7840016 2014-03-16 21:06 cnn-master\Dataset\MNIST\t10k-images-idx3-ubyte
文件 10008 2014-03-16 21:06 cnn-master\Dataset\MNIST\t10k-labels-idx1-ubyte
文件 47040016 2014-03-16 21:06 cnn-master\Dataset\MNIST\train-images-idx3-ubyte
文件 60008 2014-03-16 21:06 cnn-master\Dataset\MNIST\train-labels-idx1-ubyte
目录 0 2014-03-16 21:06 cnn-master\DebugTools\
文件 1250 2014-03-16 21:06 cnn-master\DebugTools\computeNumericalGradient.m
文件 2647 2014-03-16 21:06 cnn-master\DebugTools\display_network.m
文件 679 2014-03-16 21:06 cnn-master\DebugTools\grad_check.m
文件 733 2014-03-16 21:06 cnn-master\DebugTools\samplePatches.m
文件 2647 2014-03-16 21:06 cnn-master\DebugTools\thetaChange.m
目录 0 2016-05-31 11:28 cnn-master\Demo\
文件 3179 2016-06-02 09:16 cnn-master\Demo\cnnTrain.m
文件 794 2016-05-31 11:20 cnn-master\Demo\config.m
文件 1171 2016-05-11 10:34 cnn-master\Demo\configTestGradient.m
目录 0 2014-03-16 21:06 cnn-master\la
文件 3133 2014-03-16 21:06 cnn-master\la
文件 1403 2014-03-16 21:06 cnn-master\la
文件 2525 2014-03-16 21:06 cnn-master\la
文件 988 2014-03-16 21:06 cnn-master\la
文件 3956 2014-03-16 21:06 cnn-master\la
文件 231 2014-03-16 21:06 cnn-master\la
文件 18026 2014-03-16 21:06 cnn-master\LICENSE
文件 2108 2014-03-16 21:06 cnn-master\README.md
目录 0 2014-03-16 21:06 cnn-master\Testing\
............此处省略6个文件信息
相关资源
- 卷积自编码去噪-tensorflow实现
- CNN处理kdd99数据集tensorflow实现
- faster-rcnn测试模型
- MNIST CNN 手写体识别完整数据集加代码
- CNN卷积神经网络应用于人脸识别带详
- mnist数据集及其cnn的多种实现
- 卷积神经网络文字识别
- DnCNN-tensorflow版本
- R-CNN、Fast R-CNN、Faster R-CNN必看经典论
- mask rcnn训练自己数据,更换数据集和
- 基于深度学习的人脸表情识别Tensorf
- Visualizing and Understanding CNNs 论文的pp
- mask_rcnn_coco.h5
- FPGA的CNN网络加速代码,重磅资源
- CNN交通标志识别GTSRB_源码和ppt
- eyeriss项目组的深度学习加速器的总结
- cifar10_cnn 模型文件
- RCNN系列论文
- MTCNN+人脸动态贴纸源码+DEMO
- 使用tensorflow实现CNN-RNN-GAN代码
- Rcnn,FastRcnn FasterRcnn
- Mask RCNN源代码
- 现流行的AlexNetVGGNetGoogleNetSENetResNet等
- 基于CNN的图片颜色处理
- Classificationoftime-seriesimagesusingdeepcnn.
- 卷积神经网络CNNs-(从AlexNet开始)
- MTCNN人脸检测应用代码
- 基于tensorflow实现猫狗识别代码(CNN)
- CNN卷积神经网络识别手写汉字MNIST数据
- 基于PCNN的医学分割
评论
共有 条评论