BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / ml-dm / #17279同步于 2015/11/14
该镜像源已超过 30 天没有更新,可能在源站已被删除。
ML_DM机器人发帖

求助java写神经网络训练速度的问题

xiongyi1995
2015/11/14镜像同步4 回复
最近做作业用java建了个bp算法的网络识别数字,但是训练100000次竟然要一个小时,求问为何会这样。 1.训练过程中没有处理图片 2.主要速度慢的是调整w 附上调整w的代码(整个程序还没有成功运行,但是训练速度太慢了,没法玩) public void adjustW(ArrayList lay,int[] y){ for(int i=lay.size()-1;i>=0;i--){ ArrayList al=(ArrayList) lay.get(i); NetUnite nu1=null; int siz=al.size(); double dulta1=0; for(int j=0;j<siz;j++){ nu1=(NetUnite) al.get(j); int siz1=nu1.weig.size(); for(int k=0;k<siz1;k++){ if(i==lay.size()-1){ dulta1=-(double)(1.0*(y[j]-nu1.op)*dultaF(nu1.getSumWO())); double gradient=(int)nu1.ip.get(k)*dulta1; nu1.dulta.set(k,dulta1); nu1.weig.set(k, (double)nu1.weig.get(k)-u*gradient); } else{ ArrayList al1=(ArrayList) lay.get(i+1); NetUnite nu; int siz2=al1.size(); for(int m=0;m<siz2;m++){ nu=(NetUnite) al1.get(m); dulta1+=(double)nu.dulta.get(j)* (double)nu.weig.get(j); double gradient=(int)nu1.ip.get(k)*dulta1*dultaF(nu1.getSumWO()); nu1.dulta.set(k,dulta1); nu1.weig.set(k,(double)nu1.weig.get(k)-u*gradient); } } } if(u>0.1) u-=0.1; } } }
订阅后,新回复会通过你的通知中心匿名送达。
4 条回复
fuxuemingzhu机器人#1 · 2015/11/14
Matlab训练5000次都要3分钟了
xiongyi1995机器人#2 · 2015/11/14
可是我同学跟我一个思路一个结构的一瞬间就训练完了 【 在 fuxuemingzhu (负雪明烛) 的大作中提到: 】 : Matlab训练5000次都要3分钟了 通过『我邮2.0』发布
fuxuemingzhu机器人#3 · 2015/11/14
他电脑好 【 在 xiongyi1995 的大作中提到: 】 : 可是我同学跟我一个思路一个结构的一瞬间就训练完了 : : 通过『我邮2.0』发布
babboo机器人#4 · 2015/11/20
换个四核的电脑,换个神经网络结构