iCub-main
Loading...
Searching...
No Matches
IFixedSizeLearner.h
Go to the documentation of this file.
1/*
2 * Copyright (C) 2007-2011 RobotCub Consortium, European Commission FP6 Project IST-004370
3 * author: Arjan Gijsberts
4 * email: arjan.gijsberts@iit.it
5 * website: www.robotcub.org
6 * Permission is granted to copy, distribute, and/or modify this program
7 * under the terms of the GNU General Public License, version 2 or any
8 * later version published by the Free Software Foundation.
9 *
10 * A copy of the license can be found at
11 * http://www.robotcub.org/icub/license/gpl.txt
12 *
13 * This program is distributed in the hope that it will be useful, but
14 * WITHOUT ANY WARRANTY; without even the implied warranty of
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
16 * Public License for more details
17 */
18
19#ifndef LM_IFIXEDSIZELEARNER__
20#define LM_IFIXEDSIZELEARNER__
21
23
24
25namespace iCub {
26namespace learningmachine {
27
45protected:
49 unsigned int domainSize;
50
54 unsigned int coDomainSize;
55
62 virtual bool checkDomainSize(const yarp::sig::Vector& input);
63
70 virtual bool checkCoDomainSize(const yarp::sig::Vector& output);
71
79 void validateDomainSizes(const yarp::sig::Vector& input, const yarp::sig::Vector& output);
80
81 /*
82 * Inherited from IMachineLearner.
83 */
84 virtual void writeBottle(yarp::os::Bottle& bot) const;
85
86 /*
87 * Inherited from IMachineLearner.
88 */
89 virtual void readBottle(yarp::os::Bottle& bot);
90
91public:
98 IFixedSizeLearner(unsigned int dom = 1, unsigned int cod = 1) : domainSize(dom), coDomainSize(cod) { }
99
100 /*
101 * Inherited from IMachineLearner.
102 */
103 virtual void feedSample(const yarp::sig::Vector& input, const yarp::sig::Vector& output);
104
105 /*
106 * Inherited from IMachineLearner.
107 */
108 virtual void train();
109
115 unsigned int getDomainSize() const { return this->domainSize; }
116
122 unsigned int getCoDomainSize() const { return this->coDomainSize; }
123
129 virtual void setDomainSize(unsigned int size) { this->domainSize = size; }
130
136 virtual void setCoDomainSize(unsigned int size) {this->coDomainSize = size; }
137
138 /*
139 * Inherited from IMachineLearner.
140 */
141 virtual std::string getInfo();
142
143 /*
144 * Inherited from IMachineLearner.
145 */
146 virtual std::string getConfigHelp();
147
148 /*
149 * Inherited from IMachineLearner.
150 */
151 virtual bool configure(yarp::os::Searchable& config);
152
153};
154
155} // learningmachine
156} // iCub
157
158#endif
An generalized interface for a learning machine with a fixed domain and codomain size.
virtual void writeBottle(yarp::os::Bottle &bot) const
Writes a serialization of the machine into a bottle.
virtual void feedSample(const yarp::sig::Vector &input, const yarp::sig::Vector &output)
Provide the learning machine with an example of the desired mapping.
unsigned int domainSize
The dimensionality of the input domain.
virtual void readBottle(yarp::os::Bottle &bot)
Unserializes a machine from a bottle.
virtual void train()
Train the learning machine on the examples that have been supplied so far.
virtual bool checkDomainSize(const yarp::sig::Vector &input)
Checks whether the input is of the desired dimensionality.
unsigned int getCoDomainSize() const
Returns the size (dimensionality) of the output domain (codomain).
virtual std::string getInfo()
Asks the learning machine to return a string containing information on its operation so far.
virtual void setCoDomainSize(unsigned int size)
Mutator for the codomain size.
virtual bool configure(yarp::os::Searchable &config)
Change parameters.
virtual void setDomainSize(unsigned int size)
Mutator for the domain size.
virtual std::string getConfigHelp()
Asks the learning machine to return a string containing the list of configuration options that it sup...
IFixedSizeLearner(unsigned int dom=1, unsigned int cod=1)
Constructor.
void validateDomainSizes(const yarp::sig::Vector &input, const yarp::sig::Vector &output)
Validates whether the input and output are of the desired dimensionality.
virtual bool checkCoDomainSize(const yarp::sig::Vector &output)
Checks whether the output is of the desired dimensionality.
unsigned int coDomainSize
The dimensionality of the output domain (codomain).
unsigned int getDomainSize() const
Returns the size (dimensionality) of the input domain.
A generalized interface for a learning machine for offline and online learning machines (e....
This file contains the definition of unique IDs for the body parts and the skin parts of the robot.