科学计算与数据处理综合设计实验四_第1页
科学计算与数据处理综合设计实验四_第2页
科学计算与数据处理综合设计实验四_第3页
科学计算与数据处理综合设计实验四_第4页
科学计算与数据处理综合设计实验四_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、科学计算与数据处理综合设计 实验四科学计算与数据处理实验报告学s313060052姓 名王腾祥号实 验 名 称科学计算与数据处理综合设计实验实 验 目 的1、 深入研究matlab在计算机相关的 某一专业领域的综合应用2、 熟悉matlab 中专业级toolbox或 simulink的功能和用法3、学会综合运用matlab解决并行运 算与神经网络-基于cpu/gpu的并行神 经网络运算0y=sim(net2,x);二、打开 matlab workers matlabpool open检查worker数量poolsize=matlabpookize1)三、设置train与sim函数中的参数 “u

2、separallel为yes”。net2=train(netl,x5t/useparaller/yesf)y=sim(net2,x/useparaller/yes*)四、使用“showresources选项证实神经网络运算确实在各个worker上运行。netlraincnetl,x,t/useparallep/yes/showre sources*yest);y=sim(net2,x/useparaller/yesyshowresourc est/yesf);五、将一个数据集进行随机划分,同时保存到 不同的文件for i=l imatlabpoolfsize1)头cpu并行验方案一、标准单线程

3、的神经网络训练与仿真过程x,t=house_dataset;net1=feedforwardnet(10);net2=train(net1,x,t);x=rand(2,1000);save(inputs num2str(i),x)t=x(1,:).*x(2,:)+2*(x(1,:)+x(2,:);save(target num2str(i),t);clear x tend六、实现并行运算加载数据集for i=1:matlabpool(size)data=load(inputs num2str(i),x)xci=data.xdata=load(target num2str(i),t) tci=d

4、ata.t;clear dataendnet2=configure(net2,xc1,tc1); net2=train(net2,xc,tc);yc=sim(net2,xc)七、得到各个 worker返回的composite结果 for i=1:matlabpool(size)yi=yci end八、gpu并行count=gpudevicecountgpu1=gpudevice(1)gpucores1=gpu1.multiprocessorcount*gpu1. simdwidthnet2=train(net1,x,t,usegpu,yes) y=sim(net,x,usegpu,yes) n

5、et1.trainfcn=trainscg;net2=train(net1,x,t,usegpu,yes,showreso urces,yes);matlab神经网络43个案例分析九、并行运算与神经网络-基于cpu/gpu的 并行神经网络运算by王小川(王小川_matlab) email:sina363 十、清空环境变量clear allclcwarning offh一一打开 matlabpool matlabpool open poolsize=matlabpool(size);十二、加载数据load bodyfat_dataset inputs = bodyfatinputs;target

6、s = bodyfattargets;十三、创建一个拟合神经网络hiddenlayersize = 10; 隐藏层神经元个数为10net = fitnet(hiddenlayersize);创建网络十四、指定输入与输出处理函数(本操作并非 必须)cessfcns=removeconstantrows,mapminmax;cessfcns=removeconstantrows,mapminmax;十五、设置神经网络的训练、验证、测试数据 集划分net.dividefcn = dividerand; 随机划分数据集net.dividem

7、ode = sample;划分单位为每一个数据net.divideparam.trainratio = 70/100; 训练集 比例net.divideparam.valratio = 15/100; 验证集比例net.divideparam.testratio = 15/100;测试集 比例trainlm;十六、设置网络的训练函数 net.trainfcn=levenberg-marquardt十七、设置网络的误差函数 net.performfcn = mse; mean squarederror十八、设置网络可视化函数net.plotfcns=plotperform,plottrainst

8、ate,ploterrhist, plotregression, plotfit;十九、单线程网络训练 ticnet1,tr1 = train(net,inputs,targets);t1=toc;disp(单线程神经网络的训练时间为 ,num2str(t1),秒);二十、并行网络训练ticnet2,tr2=train(net,inputs,targets,useparallel,yes,sho wresources,yes);t2=toc;disp(并行神经网络的训练时间为 ,num2str(t2),秒);二十一、网络效果验证outputsl = sim(net1,inputs);outpu

9、ts2 = sim(net2,inputs);errorsl = gsubtract(targets,outputs1);errors2 = gsubtract(targets,outputs2);performancel=perform(net1,targets,outputs1)performance2=perform(net2,targets,outputs2)二十二、神经网络可视化figure, plotperform(trl);figure, plotperform(tr2);figure, plottrainstate(tr1);figure, plottrainstate(tr2

10、);figure,plotregression(targets,outputs1);figure,plotregression(targets,outputs2);figure,ploterrhist(errors1);figure,ploterrhist(errors2);matlabpoolclosey=sim(net2,x,usegpu,yes,showresources,yes);133530error histogram with 20 bins鬲二 ? 6 s-0 巴口 n 鬲65so0tlg9z 后二sn9o 以出0 凿, w中 邑.呼 黑“ fcot 巴 l0? eel中 o

11、5 d 6 o 2 11实 验 记 录error histogram with 20 binsze ro error60s in anoo di:r=0.89144o45uli35302520o051015202530354045target:r=0.8676145403530252016105010402030target10410graclient = 43.66551 矶 epoch 1410210mu - 口口1 ft epoch 14validation checks = 6, at epoch 14g 10106u epochs10121422681012 epochsbest v

12、alidation performance is 239146 at epoch 6 i train validation testbest validation performance is 33.497 at epoch 8024 e b 10121414 epochs2 1 1010 (gsuj)0h山 poenbs ueowoo实1、并行平台的通信模型:共享数据(posix、windows线程、aopenmp)、消息交换(mpipvm)并行算法模型:数据并行模型、任务依赖图模型、工作池模型、管理者-工作者模型、消费者总 模型对于并行计算一个任务可能涉及到的问题:任务分解、任结 务依赖关

13、系、任务粒度分配、并发度、任务交互。并行算法性能的常见度量值:并行开销、加速比、效率(加速比/cpu数)、成本(并行运行时间*cpu数)。2、人工神经网络就是模拟人思维的第二种方式。这是一个非线 性动力学系统,其特色在于信息的分布式存储和并行协同处理。 虽然单个神经元的结构极其简单,功能有限,但大量神经元构成 的网络系统所能实现的行为却是极其丰富多彩的。3、总结:人工神经网络可通过硬件或软件方式来实现。硬件方 式即神经计算机。目前较常用的还是软件实现方式。已有许多 公司和研究单位设计了通用的 ann程序以方便人们使用,matlab 提供的神经网络工具箱就是其重要代表。神经网络工具箱是在matlab环境下所开发出来的许多工具箱之一,它是以人工神经网 络理论为基础,用matlab语言构造出典型神经网络的激活函数, 如s型、线性、竞争层、饱和线性等激活函数,使设计者对所选 定网络输出的计算变成对激活函数的调用。另外,根据各种典型 的修正网络权值的规定,加上网络的训练过程,用matlab编写出 各种网络设计与训练所涉及的公式运算、矩阵操作和方程

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论