DeepLearningtoolbox(4):cnntrain.m
来源:互联网 发布:2016总决赛数据统计 编辑:程序博客网 时间:2024/06/06 23:09
%opts,神经网络的相关训练参数; %net,神经网络;x,训练数据矩阵;y,训练数据的标签矩阵;function net = cnntrain(net, x, y, opts) m = size(x, 3);%训练样本的个数 %disp(['样本总个数=' num2str(m)]); numbatches = m / opts.batchsize; %rem(numbatches,1)就相当于取其小数部分,如果为0,就是整数。 if rem(numbatches, 1) ~= 0 error('numbatches not integer'); end net.rL = [];%代价函数值,也就是误差值 for i = 1 : opts.numepochs %disp(X) 打印数组元素 disp(['epoch ' num2str(i) '/' num2str(opts.numepochs)]); %tic和toc是用来计时的,计算这两条语句之间所消耗的时间, tic; %P=ransperm(N) 返回[1,N]之间所有整数的一个随机序列,这相当于把原来的样本排列打乱。 %再使用打乱后的样本进行训练 kk = randperm(m);%打乱样本 for l = 1 : numbatches%样本依次进入网络 %取出打乱顺序后的batchsize个样本和对应的标签 batch_x = x(:, :, kk((l - 1) * opts.batchsize + 1 : l * opts.batchsize)); batch_y = y(:, kk((l - 1) * opts.batchsize + 1 : l * opts.batchsize)); %在当前的网络权值和网络输入下计算网络的输出(特征向量) net = cnnff(net, batch_x);%前向过程 %得到网络的输出之后,通过对应的样本标签用bp算法来得到误差对网络权值的导数,调整网络权值。 net = cnnbp(net, batch_y); %卷积神经网络的BP算法 %得到误差对权值的导数后,通过权值更新方法去更新权值。 net = cnnapplygrads(net, opts); if isempty(net.rL) net.rL(1) = net.L;%代价函数值,即误差值。 end net.rL(end + 1) = 0.99 * net.rL(end) + 0.01 * net.L; %采用累积的方式计算累积误差 %采用累积误差的计算方式来评估当前网络性能,即当前误差 = 以前误差 * 0.99 + 本次误差 * 0.01,使得网络尽可能收敛到全局最优 end toc;endend
0 0
- DeepLearningtoolbox(4):cnntrain.m
- DeepLearningtoolbox(2):cnnexample.m
- DeepLearningtoolbox(3):cnnsetup.m
- DeepLearningtoolbox(5):cnntest.m
- DeepLearningtoolbox(6):cnnapplygrads.m
- DeepLearningtoolbox(7):cnnff.m
- DeepLearningtoolbox(8):cnnbp.m
- 深度学习Matlab工具箱代码注释——cnntrain.m
- 深度学习Matlab工具箱代码注释——cnntrain.m
- 深度学习Matlab工具箱代码注释——cnntrain.m
- 对deeplearningToolBox的一点理解(SAE篇)
- 【RBM】代码学习--DeepLearningToolBox
- WinHex工具制作编程器固件(4M-8M-16M)
- DeepLearningToolBox学习——NN(neural network)
- Matlab studying(4)M文件
- Mysql精简方式140M->4M
- poj 1036 n!/(n-m)!*m!
- DeepLearningToolBox学习——RBM(Restrict Boltzmann Machine)
- Nginx + Tomcat 反向代理 如何高效的在一台服务器部署多个站点
- 多只参数和中文输出
- wireshark提取保存部分报文特定字段之tshark
- eclipse的svn插件
- muduo源码分析之多线程TcpServer
- DeepLearningtoolbox(4):cnntrain.m
- jsoup选择具有多个class的标签
- bootstrap 不用ID绑定的下拉框的方法
- 指向指针的引用*&
- python pip 安装与使用
- 响应UI可见性的变化
- 3.leapmotion之应用程序
- 昨夜星辰 目录
- InetAddress(IP类)