// 
// File name: neuman2.cpp
//
// Discription: Main
//
// Programmer: Vladimir P. Stasevich (SV)
//
// History: 
//    Created 03.12.1999 (SV)
//
#include <string.h> 
#include <conio.h> 
#include "neuro.h" 

#define N0 30 
#define N1 10 
#define N2 10 
  
main
(
   int argc, 
   char *argv[]
) 
{ 
   NetBP N; 
   static float Inp[N0], Out[N2]; 
   
   if(argc!=2) return 1; 
   
   ClearScreen(); 
   
   if(N.LoadFromFile(argv[1])) return 1; 
   if(N.FullConnect()) return 1; 
   
   N.GetLayer(0)->SetName("Input"); 
   N.GetLayer(0)->SetShowDim(1,1,5,6); 
   N.GetLayer(1)->SetName("Hidden"); 
   N.GetLayer(1)->SetShowDim(15,1,2,5); 
   N.GetLayer(2)->SetName("Out"); 
   N.GetLayer(2)->SetShowDim(23,1,10,1); 
   
   SetSigmoidType(HYPERTAN); 
   
   if(N.OpenPatternFile("charnois.img")) return 1; 
   
   for(;;) 
   { 
      if(N.LoadNextPattern(Inp,Out)) break; 
      // если все образы кончились, выходим 
      N.SetNetInputs(Inp); 
      N.Propagate(); 
      N.GetLayer(0)->Show(); 
      N.GetLayer(1)->Show(); 
      N.GetLayer(2)->Show(); 
      N.GetLayer(2)->PrintAxons(47,0); 
      getch(); 
   } 
   
   N.ClosePatternFile(); 
   return 0; 
} 

