亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? bp_fortran1.for

?? Fortran下ANNbp算法
?? FOR
字號:
	program Bp_Neutral_Net 
	character*1 cc
	character*15 wfilename
	integer m_samplenum
	common/bp/m_inputnum,m_hidenum,m_outnum,m_samplenum
	common/nn/n2
	common/ee/ee,es1,es
cc**********************************************************
	double precision x(30),x1(30),y(30),dy
	double precision w_ih(30,30),w_ho(30,30)
	double precision sample_in(200,30),sample_t(200,30),
	&sample_out(200,30),sample_x1(200,30)
	common/weight/w_ih,w_ho
	common/sample/sample_in,sample_t,sample_out,sample_x1
	ee=1.0/4000.0
	es1=0.01
	es=0.01
	write(*,*)'Do you want to learn(l) or calculate(c) or derive(d)?'
	read(*,*)cc
	if(cc.eq.'l'.or.cc.eq.'L') then
	call bp_ini	
	call readsampledata
	call Learning
	write(*,*)'Enter the name of bp file!'
	read(*,*)wfilename
	open(2,file=wfilename)
	write(2,*)n2
	write(2,*)m_inputnum,m_hidenum,m_outnum
	write(2,*)((w_ih(i,j),j=1,m_inputnum+1),i=1,m_hidenum)
	write(2,*)((w_ho(i,j),j=1,m_hidenum+1),i=1,m_outnum)
	close(2)
	elseif(cc.eq.'c'.or.cc.eq.'C') then
	open(2,file='bp.dat')
	read(2,*)n2
	read(2,*)m_inputnum,m_hidenum,m_outnum
	read(2,*)((w_ih(i,j),j=1,m_inputnum+1),i=1,m_hidenum)
	read(2,*)((w_ho(i,j),j=1,m_hidenum+1),i=1,m_outnum)
	close(2)
cc	write(*,*)((w_ih(i,j),j=1,m_inputnum+1),i=1,m_hidenum)
	write(*,*)'enter x:'
	read(*,*)(x(i),i=1,m_inputnum)
	call calculate_output(x,x1,y)
	write(*,*)(y(i),i=1,m_outnum)
	elseif(cc.eq.'d'.or.cc.eq.'D') then
	open(2,file='bp.dat')
	read(2,*)m_inputnum,m_hidenum,m_outnum
	read(2,*)((w_ih(i,j),j=1,m_inputnum+1),i=1,m_hidenum)
	read(2,*)((w_ho(i,j),j=1,m_hidenum+1),i=1,m_outnum)
	close(2)
	read(*,*)(x(i),i=1,m_inputnum)
	read(*,*)i,j
	call derivevalue(x,i,j,dy)
	endif
	end
	
	subroutine calculate_output(x,x1,y)
	double precision x(30),x1(30),y(30)
	common/bp/m_inputnum,m_hidenum,m_outnum,m_samplenum
	common/ee/ee,es1,es
	common/nn/n2
	do 230	i=1,m_inputnum
	x(i)=x(i)*ee
230	continue
	write(*,*)ee,es1,es,n2
	call outputgenerate(x,x1,y)
	write(*,*)(y(i),i=1,m_outnum)
	if(n2.eq.0) then
		do 235 i=1,m_outnum
		y(i)=y(i)/es1
235		continue
	elseif(n2.gt.0) then
		do 240 i=1,m_outnum
		y(i)=y(i)/es-2.0
240	continue
	endif
	end
			 
	subroutine bp_ini
	double precision w_ih(30,30),w_ho(30,30)
	 double precision rn
	common/bp/m_inputnum,m_hidenum,m_outnum,m_samplenum
	common/weight/w_ih,w_ho
5	write(*,*)'The element number of input layer:'
	read(*,*)m_inputnum
	write(*,*)'The element number of hide layer:'
	read(*,*)m_hidenum
	write(*,*)'The element number of output layer:'
	read(*,*)m_outnum
	if(m_inputnum.gt.30.or.m_hidenum.gt.30.or.m_outnum.gt.30) then
	write(*,*)'The net is too large!'
	goto 5
	endif
	r1=10
	r2=100
	do 20 i=1,m_hidenum
		do 20 j=1,m_inputnum+1
20			w_ih(i,j)=rn(r1)
	do 40 i=1,m_outnum
			do 40 j=1,m_hidenum+1
40			w_ho(i,j)=rn(r2)
	end
	
	function rn(R)
      double precision rn
	s=65536
	u=2053
	v=13849
	r=u*r+v
	m=r/s
	r=r-m*s
	rn=r/s
	return 
	end

	subroutine readsampledata
	character*15 filename
	common/nn/n2
	common/ee/ee,es1,es
	common/bp/m_inputnum,m_hidenum,m_outnum,m_samplenum
	double precision sample_in(200,30),sample_t(200,30),
     &sample_out(200,30),sample_x1(200,30)
	common/sample/sample_in,sample_t,sample_out,sample_x1
cc     	write(*,*)m_inputnum,m_hidenum,m_outnum
	write(*,*)'Enter the name of sample file:'
	read(*,*)filename
	open(1,file=filename)
	read(1,*)m_samplenum
CC	WRITE(*,*)M_SAMPLENUM
	do 50 i=1,m_samplenum
	read(1,*)(sample_in(i,j),j=1,m_inputnum)
	read(1,*)(sample_out(i,j),j=1,m_outnum)
cc	WRITE(*,*)(sample_in(i,j),j=1,m_inputnum)
cc	WRITE(*,*)(sample_out(i,j),j=1,m_outnum)
50	continue
	n2=0
	do 55 i=1,m_samplenum
			do 54 j=1,m_outnum
		if(sample_out(i,j).lt.0) n2=n2+1
54		continue
55	continue
	do 49 i=1,m_samplenum 
	 		do 56 j=1,m_inputnum
		sample_in(i,j)=sample_in(i,j)*ee
56	continue
          if(n2.eq.0) then	
		do 57 j=1,m_outnum
	sample_out(i,j)=sample_out(i,j)*es1
57	continue
	elseif(n2.gt.0) then
		do 53 j=1,m_outnum
	sample_out(i,j)=(2+sample_out(i,j))*es
53	continue
	endif	
49	continue
	close(1)
cc	WRITE(*,*)(sample_in(i,j),j=1,m_inputnum)
cc	WRITE(*,*)(sample_out(i,j),j=1,m_outnum)
	end
	
	subroutine outputgenerate(x,x1,y)
	double precision x(30),x1(30),y(30),s,sig
	double precision w_ih(30,30),w_ho(30,30)
	common/bp/m_inputnum,m_hidenum,m_outnum
	common/weight/w_ih,w_ho
	x1(m_hidenum+1)=-1.
	x(m_inputnum+1)=-1.
	do 80 i=1,m_hidenum
		s=0.
		do 90 j=1,m_inputnum+1
		s=s+w_ih(i,j)*x(j)
90	continue	
		x1(i)=sig(s)
80	continue
	do 100	i=1,m_outnum
		s=0.
		do 110 j=1,m_hidenum+1
		s=s+w_ho(i,j)*x1(j)
110	continue
		y(i)=sig(s)
100	continue
		end		
	
	subroutine Learning
	double precision w_ih(30,30),w_ho(30,30)
	double precision sample_in(200,30),sample_t(200,30),
     &sample_out(200,30),sample_x1(200,30)
	common/bp/m_inputnum,m_hidenum,m_outnum,m_samplenum
	common/weight/w_ih,w_ho
	common/sample/sample_in,sample_t,sample_out,sample_x1
	integer training_num
	double precision  x(30),x1(30),y(30)
	double precision w1(30,30),w2(30,30),w11(30,30),w22(30,30)
	double precision err,err_whole,err_whole1
	write(*,*)'Enter the error:'
	read(*,*)err_xy
	training_num=0
	do 105	i=1,m_outnum
			do 105	j=1,m_hidenum+1
105	w1(i,j)=w_ho(i,j)
	do 110	i=1,m_hidenum
			do 110	j=1,m_inputnum+1
110	w2(i,j)=w_ih(i,j)
	err_whole1=0.
120	training_num=training_num+1
	err_whole=0.
	do 130 i=1,m_samplenum
			do 135 k=1,m_inputnum
			x(k)=sample_in(i,k)
135			continue
		call outputgenerate(x,x1,y)
			do 136 k=1,m_hidenum+1
			sample_x1(i,k)=x1(k)
136			continue
			do 137 k=1,m_outnum
			sample_t(i,k)=y(k)
137			continue
			err=0.
		do 140 j=1,m_outnum
			err=err+(sample_t(i,j)-sample_out(i,j))**2
140		continue
		err=err*0.5
	err_whole=err_whole+err
130	continue
		uu=0.5
	write(*,*)'err_whole=',err_whole,'err_whole1=',err_whole1
	if(err_whole-err_whole1.lt.0) then
		uu=1.20*uu
		alfa=0.9
	else
		uu=0.60*uu
		alfa=0.
	endif
	do 150	j=1,m_outnum
		do 160	k=1,m_hidenum+1
			s=0.
			do 170 i=1,m_samplenum
		s=s+(sample_t(i,j)-sample_out(i,j))*(1-sample_t(i,j))
     &*sample_t(i,j)*sample_x1(i,k)
170	continue
	w11(j,k)=w_ho(j,k)-uu*s+alfa*(w_ho(j,k)-w1(j,k))
	w1(j,k)=w_ho(j,k)
	w_ho(j,k)=w11(j,k)
160	continue
150	continue
	do 180	j=1,m_hidenum
		do 190	k=1,m_inputnum+1
	         ss=0.
			do 200	i=1,m_samplenum
					s=0.
				do 210 l=1,m_outnum
			s=s+(sample_t(i,l)-sample_out(i,l))*(1-sample_t(i,l))*
     &sample_t(i,l)*w_ho(l,j)
210	continue
		ss=ss+s*(1-sample_x1(i,j))*sample_x1(i,j)*sample_in(i,k)
200	continue
		w22(j,k)=w_ih(j,k)-uu*ss+alfa*(w_ih(j,k)-w2(j,k))
	w2(j,k)=w_ih(j,k)
	w_ih(j,k)=w22(j,k)
190	continue
180	continue
cc	write(*,*)((w_ho(i,j),j=1,hide_num+1),i=1,out_num)
cc	write(*,*)'err_whole=',err_whole
	err_whole1=err_whole
	if(err_whole.gt.err_xy) goto 120
	write(*,*)'Training is over!'
	write(*,*)'err_whole=',err_whole
	write(*,*)'The training number is',training_num
	end
	
	subroutine derivevalue(x,iy,jx,dy)
	double precision x(30),dy
	integer iy,jx
	double precision y(30),x1(30)
	double precision w_ih(30,30),w_ho(30,30)
	common/bp/m_inputnum,m_hidenum,m_outnum,m_samplenum
	common/weight/w_ih,w_ho
	call outputgenerate(x,x1,y)
	s=0.
	do 220	k=1,m_hidenum+1
	s=s+(1-y(iy))*y(iy)*w_ho(iy,k)*(1-x1(k))*x1(k)*w_ih(k,jx)
220	continue      
	dy=s
	end			 
	
	 function sig_d(x)
	double precision sig_d,sig
	double precision x
	sig_d=sig(x)*(1.-sig(x))
	end
	 
	 function sig(x)
	double precision sig
	double precision x
	sig=1./(1.+exp(-x))
	end

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲日本在线视频观看| 国产乱码字幕精品高清av| 亚洲黄网站在线观看| 一区二区中文字幕在线| 国产欧美日韩另类一区| 久久久久国产精品麻豆ai换脸| 日韩美女在线视频 | 国产亚洲一本大道中文在线| 精品国产第一区二区三区观看体验| 欧美一卡二卡三卡| 日韩三级视频中文字幕| 日韩精品中文字幕一区二区三区| 欧美一区日韩一区| 欧美不卡一二三| 国产亚洲人成网站| 亚洲视频小说图片| 亚洲成人综合网站| 欧美a级理论片| 国产一区三区三区| 国产成人精品亚洲午夜麻豆| 国产成人99久久亚洲综合精品| 北条麻妃国产九九精品视频| 91国偷自产一区二区使用方法| 欧美亚洲国产一区二区三区| 3d动漫精品啪啪一区二区竹菊| 日韩精品一区二区三区在线 | 亚洲高清一区二区三区| 五月激情丁香一区二区三区| 免费xxxx性欧美18vr| 高清不卡在线观看| 色偷偷成人一区二区三区91| 欧美日韩黄色影视| 国产性做久久久久久| 亚洲精品ww久久久久久p站| 日韩av不卡在线观看| 国产精品自在在线| 欧美在线影院一区二区| 欧美岛国在线观看| 自拍偷拍国产亚洲| 男男视频亚洲欧美| av一区二区三区四区| 制服视频三区第一页精品| 久久久久久久久久久久久女国产乱| 国产精品人人做人人爽人人添 | 成人免费福利片| 欧美亚洲日本一区| 久久日一线二线三线suv| 亚洲视频免费在线| 理论片日本一区| 91丨九色丨蝌蚪丨老版| 制服丝袜av成人在线看| 国产精品久久久久久久久图文区 | 亚洲综合清纯丝袜自拍| 国产一区二区三区在线观看免费| 91一区二区在线观看| 欧美一级在线免费| 一区二区三区四区不卡在线| 久久99精品久久久久久国产越南| 色噜噜狠狠色综合欧洲selulu| 欧美v日韩v国产v| 玉足女爽爽91| 国产剧情一区二区| 在线电影国产精品| 国产精品不卡一区| 久久97超碰国产精品超碰| 色偷偷久久一区二区三区| 久久久久久久久久电影| 日本不卡一区二区| 一本到不卡免费一区二区| 国产日韩欧美激情| 老司机免费视频一区二区| 欧美无乱码久久久免费午夜一区| 久久久久久97三级| 九九国产精品视频| 欧美精品乱人伦久久久久久| 亚洲女人****多毛耸耸8| 粉嫩aⅴ一区二区三区四区 | 中文字幕日本不卡| 精品一区二区三区免费观看| 91麻豆精品久久久久蜜臀| 亚洲欧美日韩国产综合| 国产成人精品免费| 26uuu另类欧美亚洲曰本| 视频一区欧美日韩| 欧美探花视频资源| 亚洲精品网站在线观看| 成人动漫视频在线| 久久久亚洲高清| 久久av中文字幕片| 欧美一区二区黄| 日日摸夜夜添夜夜添亚洲女人| 色香蕉久久蜜桃| 亚洲久草在线视频| 色一情一乱一乱一91av| 综合分类小说区另类春色亚洲小说欧美| 国产精品自拍毛片| 久久久影院官网| 国产成人自拍高清视频在线免费播放| 欧美一区二区三区思思人| 婷婷国产v国产偷v亚洲高清| 欧美精品高清视频| 图片区小说区区亚洲影院| 欧美日韩一二三| 日韩avvvv在线播放| 制服.丝袜.亚洲.另类.中文| 免费高清在线一区| 日韩欧美国产1| 蜜臀av性久久久久蜜臀aⅴ四虎| 在线播放中文一区| 男男成人高潮片免费网站| 日韩三级免费观看| 国产精品一区二区久久不卡| 国产欧美日韩在线观看| 99re热这里只有精品免费视频| 亚洲色图在线看| 欧美日韩一区三区| 蜜臀av性久久久久av蜜臀妖精| 日韩精品一区二区三区视频| 久久国产剧场电影| 国产欧美一区二区精品久导航| 粉嫩av一区二区三区在线播放| 亚洲欧洲性图库| 欧美亚洲一区二区在线观看| 天天亚洲美女在线视频| 精品欧美一区二区在线观看| 国产精品亚洲综合一区在线观看| 国产精品无码永久免费888| 99久久综合精品| 亚洲黄色录像片| 91精品国产欧美日韩| 国内精品免费**视频| 久久女同性恋中文字幕| av在线不卡电影| 亚洲成人www| 精品欧美一区二区在线观看| 福利视频网站一区二区三区| 亚洲三级在线看| 欧美久久一二三四区| 国产一区二区三区| 亚洲视频免费在线| 日韩情涩欧美日韩视频| 国产91丝袜在线观看| 亚洲精品国产成人久久av盗摄| 欧美另类z0zxhd电影| 黄色日韩三级电影| 国产精品久久久久久久久免费桃花 | 亚洲高清在线视频| 精品久久久久久久一区二区蜜臀| 成人app在线| 日韩福利视频导航| 欧美激情一区二区三区全黄| 欧美三级电影精品| 国产高清一区日本| 亚洲成人一区二区在线观看| 久久久国产一区二区三区四区小说| a美女胸又www黄视频久久| 奇米色一区二区| 亚洲天堂中文字幕| 欧美大片一区二区| 91麻豆高清视频| 精品一区二区在线看| 亚洲视频免费在线| 欧美精品一区二区三区四区| 欧美在线|欧美| 成人小视频免费在线观看| 午夜电影一区二区三区| 国产精品免费人成网站| 欧美精三区欧美精三区| 成人午夜电影久久影院| 日韩电影在线免费| 亚洲国产日产av| 中文字幕在线不卡国产视频| 日韩精品一区二区三区中文不卡| 色婷婷一区二区| 成人黄色大片在线观看| 麻豆精品一二三| 午夜天堂影视香蕉久久| 亚洲欧洲韩国日本视频| 久久免费视频色| 精品三级在线观看| 欧美精品xxxxbbbb| 日本久久精品电影| 成人免费高清在线| 国产成人午夜99999| 日本特黄久久久高潮| 亚洲综合丁香婷婷六月香| 中文字幕一区二区5566日韩| 精品sm在线观看| 欧美va亚洲va香蕉在线 | 亚洲二区在线观看| 国产精品萝li| 久久久久国产免费免费| 欧美不卡激情三级在线观看| 欧美美女bb生活片| 欧美日韩激情在线| 欧美无人高清视频在线观看| 在线免费精品视频| 欧美在线免费观看亚洲| 一本久道中文字幕精品亚洲嫩| 成人免费毛片片v|