学习CNN时碰到的matlab函数

****************

为什么关键变量都是四维的?——imageDim * imageDim * channel * numImage

matlab中%%会对代码进行分块,分块的代码会黄色高亮

matlab是按列搜索

matlab计时函数:tic; code...; runTime = toc;

pooledFeatures = zeros(convolvedDim / poolDim, ...
        convolvedDim / poolDim, numFilters, numImages);****************三个点表示换行连接符

labels(labels==0) = 10;****************labels==0 表达式将返回labels中元素等于0的索引列表

images(:,:,:,1:6000);****************获取四维矩阵中:第四维1到6000的数据

struct('type', 'p', 'poolDim', 2);****************结构体:键值对

for i = 1:numel(cnn.layers)****************for循环,numel返回矩阵中的元素个数

randn(a,b,c,d)***************生成尺寸为abcd的四维的 标准正态分布的随机数 矩阵

mat = reshape(activations,[],numImages);****************将activations矩阵按列重新排列,使得结果矩阵的列数为numImages

convImg = bsxfun(@plus,convImg,bis);****************矩阵convImg和矩阵bis之间的每一个元素进行@运算,且能够自动扩维

imgMat(:, :, index);****************分号表示取全范围,这里取下标为index的图像

sumProbs = sum(probs, 1);****************对probs的列求和,得到一行求和数据

preds = preds';****************矩阵转置

filter = rot90(squeeze(filter),2);****************rot90将矩阵旋转180度;squeeze除去size为1的维度,将28*28*1*1转为28*28

conv2(im,filter,'valid');****************im为输入图像,filter为卷积核,'valid'表示有效卷积
https://www.cnblogs.com/hyb221512/p/9276621.html

ones(poolDim)/(poolDim^2)****************生成poolDim*poolDim的均值模板

index = sub2ind(size(logp),mb_labels',1:size(probs,2));*****sub2ind下标转索引:arg1:矩阵size;arg2:下标1集;arg3:下标2集

 

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值