SiGraph: sulcal graphs


subAdMlp.h
Go to the documentation of this file.
1
2#ifndef SI_SUBADAPTIVE_SUBADMLP_H
3#define SI_SUBADAPTIVE_SUBADMLP_H
4
5
6
8#include <cartobase/object/object.h>
9#include <neur/mlp/mlp.h>
10class Tree;
11
12
13namespace sigraph
14{
15
19 {
20 public:
21 SubAdMlp( const std::string name = "" );
28 SubAdMlp( const std::string name, const std::string file,
29 const std::string filename );
30 SubAdMlp( const char* nom, int nc, int* couch );
31 SubAdMlp( const SubAdMlp & sa );
32 virtual ~SubAdMlp();
33
34 virtual SubAdMlp & operator = ( const SubAdMlp & sa );
35
37 virtual SubAdaptive* clone() const;
38
41
43 virtual void prepare(const std::vector<double> &v);
44 virtual void prepare(const SiVectorLearnable &vl);
45 virtual void prepare(const double *vec, unsigned int size);
47 virtual double getLearnedLabel(const SiVectorLearnable &vl) const;
48
50 const SiDBLearnable &tr, const SiDBLearnable &tst);
52 const SiDBLearnable &tst);
56 double learn(const SiVectorLearnable &vl);
58 virtual double prop( const std::vector<double> & );
60 virtual double test(const SiVectorLearnable &vl);
62 virtual std::string chooseFilename( const std::string
63 & basename = "" ) const;
65 virtual void subFiles( const std::string & prefix,
66 std::set<std::string> & listNames ) const;
68 virtual void learnStats( const std::vector<double> &vec, double outp = 0 );
69
70 virtual void init();
71
73
76
77 mlp<double,double> & net() { return( _net ); }
79 double eta() const { return( _eta ); }
80 void setEta( double eta ) { _eta = eta; }
82
84 virtual void buildTree( Tree & tr ) const;
85 virtual void setBaseName( const std::string & basename );
87 virtual void setFileNames( const std::string & name )
88 { _netFileName = name; }
89 virtual std::string fileNames() const { return( _netFileName ); }
90
91
92 protected:
96 double _eta;
98 std::string _netFileName;
99
100 private:
101 };
102
103
104 // Fonctions inline
105
106 inline SubAdMlp::SubAdMlp( const SubAdMlp & sa )
107 : IncrementalSubAdaptive( sa ), _net( sa._net ), _eta ( sa._eta ),
109 {
110 }
111
112
114 {
115 if( this != &sa )
116 {
118 _net = sa._net;
119 _eta = sa._eta;
121 }
122 return( *this );
123 }
124
125
127 {
128 return( new SubAdMlp( *this ) );
129 }
130
131}
132
133
134namespace carto
135{
136#define _TMP_ mlp<double, double> *
138#undef _TMP_
139}
140
141#endif
142
143
El�ment adaptatif terminal.
IncrementalSubAdaptive(const std::string name="")
virtual IncrementalSubAdaptive & operator=(const IncrementalSubAdaptive &sa)
Specialization for sigraph : Y as only one dim.
virtual void prepare(const std::vector< double > &v)
Prépare le réseau avec les stats sur le vecteur etc.
virtual void prepare(const SiVectorLearnable &vl)
mlp< double, double > _net
Multi layer perceptron.
Definition subAdMlp.h:94
mlp< double, double > & net()
@na Data Access
Definition subAdMlp.h:77
virtual double getLearnedLabel(const SiVectorLearnable &vl) const
Return learned label of the vector.
virtual SubAdMlp & operator=(const SubAdMlp &sa)
Definition subAdMlp.h:113
virtual void prepare(const double *vec, unsigned int size)
virtual ~SubAdMlp()
SubAdMlp(const char *nom, int nc, int *couch)
double _eta
Learning step.
Definition subAdMlp.h:96
void setEta(double eta)
Definition subAdMlp.h:80
virtual std::string chooseFilename(const std::string &basename="") const
{\tt basename} doit être vide ou terminé par '/'
virtual void setBaseName(const std::string &basename)
virtual SubAdaptive * clone() const
copie
Definition subAdMlp.h:126
double learn(const SiVectorLearnable &vl)
Apprentissage.
virtual double test(const SiVectorLearnable &vl)
Test: met à jour le taux d'erreur de généralisation.
virtual void buildTree(Tree &tr) const
Convert to tree (for IO)
virtual void learnStats(const std::vector< double > &vec, double outp=0)
Ajout à la base de statistiques.
SubAdMlp(const std::string name, const std::string file, const std::string filename)
Constructeur qui charge le réseau.
virtual SubAdResponse * train(AdaptiveLeaf &, const SiDBLearnable &tr, const SiDBLearnable &tst)
Apprentissage.
std::string _netFileName
netfile name
Definition subAdMlp.h:98
SubAdMlp(const std::string name="")
virtual void init()
Initialise l'apprentissage (fonction abstraite)
double learn(AdaptiveLeaf &al, const SiDBLearnable &train, const SiDBLearnable &tst)
virtual double prop(const std::vector< double > &)
Propagation.
double eta() const
Learning step.
Definition subAdMlp.h:79
virtual void subFiles(const std::string &prefix, std::set< std::string > &listNames) const
Donne la liste des fichiers sous le modèle.
virtual std::string fileNames() const
Definition subAdMlp.h:89
virtual void setFileNames(const std::string &name)
Noms des fichiers de sauvegardes (des réseaux de neurones par ex.)
Definition subAdMlp.h:87
Sous-élément adaptatif (classe abstraite).
Definition subAdaptive.h:30
std::string name() const
#define DECLARE_GENERIC_OBJECT_TYPE(T)
#define _TMP_
Definition subAdMlp.h:136