Created
June 27, 2019 00:46
-
-
Save pxpc2/8d57330f265ed9b440d636e78f829aa9 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| typedef struct neuronio | |
| { | |
| double* p; // conjunto de entradas deste neuronio | |
| double* w; // conjunto de pesos deste neuronio | |
| double b; // bias deste neuronio | |
| double s; // saida deste neuronio | |
| int p_length; // quantidade de entradas | |
| } Neuronio; | |
| typedef struct camada | |
| { | |
| Neuronio** neuronios; // conjunto de ponteiros dos neuronios dessa camada | |
| int qt_neuronios; // quantidade de neuronios presente na camada | |
| int qt_entradas; // quantidade de entradas por neuronio da camada | |
| } Camada; | |
| typedef struct rede | |
| { | |
| Camada* entrada; // primeira camada da rede, com 536 neuronios | |
| Camada* oculta; // camada oculta, quantidade de neuronios definida runtime | |
| Camada* saida; // ultima camada, com somente 1 neuronio | |
| } Rede; | |
| // inicializa a rede e suas camadas | |
| void initRede(int); | |
| // inicializa cada neuronio de uma camada (gerando os pesos e bias aleatorios) | |
| void initNeuronios(Camada*,int); | |
| // gera pesos aleatorios | |
| double* gerarPesos(int); | |
| // gera um bias aleatorio | |
| double gerarBias(); | |
| // pega o somatorio do produto pesos por entradas, somando com o bias | |
| double getSomatorio(Neuronio*); | |
| // pega a saída de um neuronio usando a funcao logistica sigmoid | |
| double funcaoLogistica(double); | |
| // faz o processo de feedforward chamando a funcao feed | |
| double feedForward(double*); | |
| // realiza o processo de atribuir entradas ao neuronio e calcular sua saída | |
| double* feed(Camada*,double*); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment