- 1、本文档共4页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Matlab训练好的BP神经网络如何保存和读取方法
Matlab训练好的BP神经网络如何保存和读取方法(附实例说明)
看到论坛里很多朋友都在提问如何存储和调用已经训练好的神经网络。本人前几天也遇到了这样的问题,在论坛中看了大家的回复,虽然都提到了关键的两个函数“save”和“load”,但或多或少都简洁了些,让人摸不着头脑(呵呵,当然也可能是本人太菜)。通过不断调试,大致弄明白这两个函数对神经网络的存储。下面附上实例给大家做个说明,希望对跟我有一样问题的朋友有所帮助。如果只是需要在工作目录下保到当前训练好的网络,可以在命令窗口输入:save??net? ?%net为已训练好的网络然后在命令窗口输入:load? ?net? ?%net为已保存的网络加载net。但一般我们都会在加载完后对网络进行进一步的操作,建议都放在M文件中进行保存网络和调用网络的操作如下所示:%% 以函数的形式训练神经网络function shenjingwangluo()P=[-1,-2,3,1;? ? -1,1,5,-3];%P为输入矢量T=[-1,-1,1,1,];%T为目标矢量net=newff(minmax(P),[3,1],{tansig,purelin},traingdm)%创建一个新的前向神经网络inputWeights=net.IW{1,1}inputbias=net.b{1}%当前输入层权值和阀值layerWeights=net.LW{2,1}layerbias=net.b{2}net.trainParam.show=50;net.trainParam.lr=0.05;net.trainParam.mc=0.9;net.trainParam.epochs=1000;net.trainParam.goal=0.0002;%调用算法训练BP网络[net,tr]=train(net,P,T);%保存训练好的网络在当前工作目录下的aaa 文件中,net为网络名save(aaa, net);%也可以采用 格式“save aaa net;”%若要保存到指定目录用 “save(d:\aaa.mat, net);”这样就保存到指定的目录下了%%调用网络,以函数的形式function jiazaiwangluo()%网络加载,注意文件名要加单引号load(-mat,aaa); %从指定目录加载“load(-mat,d:\aaa.mat); ”P=[3;4]A=sim(net,P)%对网络进行仿真
上面两个函数都已经调试成功,有需要的朋友可以试试看,希望对大家有帮助。用train训练一个BP神经网络,仿真后,怎么在MATLAB上显示出你训练后的BP神经网络的各层权值和偏值啊?
我也来说两句 查看全部回复
必威体育精装版回复
chang_bo321 (2009-9-21 15:23:11)
net.IW{1,1};? ?? ?? ?? ???输入层到隐层的权值net.b{1,1};? ?? ?? ?? ?? ? 输入层到隐层的阈值net.IW{2,1};? ?? ?? ?? ???隐层到输出层的权值net.b{2,1};? ?? ?? ?? ?? ? 隐层到输出层的阈值
郁磊 (2009-9-21 15:43:56)
隐层到输出层应该是net.LW{2,1}
jo(2009-11-17 13:12:44)
顶起3楼!2 楼小错误可得小心~~
njsdxiaoxiao (2009-12-02 18:18:06)
那么如果是两个隐层的情况,权值又是怎么样的?从输入层到第一层隐层,第一隐层到第二隐层,第二隐层到输出层分别是多少?
jo(2009-12-02 20:28:29)
我认为是这样的:net.IW{1,1};? ?? ?? ?? ???输入层到第一层隐层的权值net.b{1,1};? ?? ?? ?? ?? ? 输入层到第一层隐层的阈值net.LW{2,1};? ?? ?? ?? ?第一层隐层到第二层隐层的权值net.b{2,1};? ?? ?? ?? ?? ? 第一层隐层到第二层隐层的阈值net.LW{3,2};? ?? ?? ?? ?第二层隐层到输出层的权值net.b{3,2};? ?? ?? ?? ?? ? 第二层隐层到输出层的阈值其实没有什么第一层隐层,第二层隐层这样的叫法,我认为是这样称呼:输入层-第一层-第二层-……-输出层。另外,知道IW表示input weight;LW表示layer weight,那么你想得到哪个权值或阈值就没问题了。
hgsz2003 (2009-12-02 21:41:51)
QUOTE:
原帖由 j
文档评论(0)