Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- using namespace std;
- #pragma once
- #define INCOUNT 100
- #define NEUROCOUNT 2
- #define it 20
- class neuron
- {
- public:
- neuron(int in);
- double* x;//[INCOUNT+1];//âõîäûå ñèãíàëû
- double* w;//[INCOUNT+1];//âåñà
- double sum;
- double axon_out;//âûâîä àêñîíà
- double nu;//ñêîðîñòü îáó÷åíèÿ
- neuron* next;
- };
- neuron::neuron(int in)//êîë-âî íåéðîíîâ, ñ êîòîðûìè ñâÿçàí äàííûé íåéðîí - äëÿ fully connected net
- {
- x=new double[in];
- w=new double[in];
- sum=0;
- axon_out=0;
- nu=1;
- for(int i=0; i<in; i++)
- {
- x[i]=0;
- w[i]=1;
- }
- }
- class neuro_net
- {
- public:
- neuro_net(int layer_count, int* layer_inf);
- double axon_func(double x);
- double axon_func_der(double x);
- void teach_backpropagation();
- int process();
- void explore_net();
- neuron** layers;
- };
- neuro_net::neuro_net(int layer_count, int* layer_inf)
- {
- //ñîçäàäèì òðåáóåìóþ ñåòü
- neuron* list[layer_count];
- neuron* c; neuron* n;
- int count=0, temp,temp1=0;
- layers=list;
- for(int i=0; i<layer_count; i++, count++)
- {
- if(i==0)temp=INCOUNT; else temp=layer_inf[i-1];
- cout<<"temp== "<<temp<<'\n';
- c=new neuron(temp);
- cout<<"LIST "<<list<<'\n';
- for(int k=0; k<layer_inf[i]; k++)
- {
- if(k==0){list[count]=c;}
- cout<<"list[count]== "<<*(&list[count])<<' '<<*(&layers[count])<<'\n';
- /*for(neuron* g=(neuron*)list; temp1<3; temp1++)
- {
- cout<<"in list "<<g<<'\n';
- g++;
- } */
- (*c).axon_out=0;
- (*c).sum=0;
- (*c).nu=1;
- n=new neuron(temp);
- if(k==layer_inf[i]-1)n=0;
- (*c).next=n;
- cout<<"creating neuron "<<k<<" at layer "<<count<<" C== "<<c<<" N== "<<(*c).next<<'\n';
- c=n;
- }
- temp1=0;
- delete n;
- delete c;
- }
- }
- void neuro_net::explore_net()
- {
- //îñìàòðèâàåì íåéðîííóþ ñåòü
- int l=0,c=0;
- cout<<'\n';
- for(l; l<3; l++)
- {
- for(neuron* m=*(&layers[l]); m!=0; m=(*m).next)
- {
- cout<<"neuron #"<<c<<' '<<"at layer "<<l<<" it's addr== "<<m<<" next mem at "<<(*m).next<<'\n';
- system("PAUSE");
- c++;
- }
- c=0;
- }
- }
Add Comment
Please, Sign In to add comment