MachineIntelligenceCore:Toolchain
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
mic::application::ContinuousLearningApplication Class Referenceabstract

Parent class for all applications basing on continuous learning. By default all computations are made within a single thread. More...

#include <ContinuousLearningApplication.hpp>

Inheritance diagram for mic::application::ContinuousLearningApplication:
Collaboration diagram for mic::application::ContinuousLearningApplication:

Public Member Functions

 ContinuousLearningApplication (std::string node_name_)
 
virtual ~ContinuousLearningApplication ()
 
void run ()
 
- Public Member Functions inherited from mic::application::Application
 Application (std::string node_name_)
 
virtual ~Application ()
 
virtual void initialize (int argc, char *argv[])=0
 
virtual void displayStatus ()
 
- Public Member Functions inherited from mic::configuration::PropertyTree
 PropertyTree (std::string node_name_)
 
virtual ~PropertyTree ()
 
void registerProperty (PropertyInterface &prop)
 
std::string getNodeName () const
 
void loadPropertiesFromConfigNode (boost::property_tree::ptree const &pt_)
 
void printProperties ()
 
void printPropertiesWithValues ()
 
PropertyInterfacegetProperty (const std::string &name)
 
virtual void initializePropertyDependentVariables ()=0
 

Protected Member Functions

virtual bool performSingleStep (void)
 Performs single step of computations - switches between learning and testing depending on the iteration number. More...
 
virtual bool performLearningStep ()=0
 
virtual bool performTestingStep ()
 
virtual void collectTestStatistics ()
 
virtual void populateTestStatistics ()
 

Protected Attributes

mic::configuration::Property
< unsigned int > 
learning_iterations_to_test_ratio
 Number of learning steps after which a single classification test will be performed. More...
 
mic::configuration::Property
< unsigned int > 
number_of_averaged_test_measures
 Numbers of steps that will be averages. More...
 
unsigned long learning_iteration
 Learning iteration counter - used in interlaces learning/testing mode. More...
 
- Protected Attributes inherited from mic::application::Application
unsigned long iteration
 Iteration counter. More...
 
mic::configuration::Property
< long > 
number_of_iterations
 

Detailed Description

Parent class for all applications basing on continuous learning. By default all computations are made within a single thread.

Author
tkornuta
Date
Feb 17, 2016

Definition at line 38 of file ContinuousLearningApplication.hpp.

Constructor & Destructor Documentation

mic::application::ContinuousLearningApplication::ContinuousLearningApplication ( std::string  node_name_)

Default constructor. Sets the application/node name and registers properties.

Parameters
node_name_Name of the application/node (in configuration file).

Definition at line 31 of file ContinuousLearningApplication.cpp.

References learning_iteration, learning_iterations_to_test_ratio, number_of_averaged_test_measures, and mic::configuration::PropertyTree::registerProperty().

Here is the call graph for this function:

virtual mic::application::ContinuousLearningApplication::~ContinuousLearningApplication ( )
inlinevirtual

Default destructor - empty.

Definition at line 50 of file ContinuousLearningApplication.hpp.

Member Function Documentation

virtual void mic::application::ContinuousLearningApplication::collectTestStatistics ( )
inlineprotectedvirtual

Collects test statistics, executed in every testing step - virtual, empty now, to be overridden.

Definition at line 78 of file ContinuousLearningApplication.hpp.

Referenced by performTestingStep().

virtual bool mic::application::ContinuousLearningApplication::performLearningStep ( )
protectedpure virtual

Perform learning - abstract, to be overridden.

Referenced by performSingleStep().

bool mic::application::ContinuousLearningApplication::performSingleStep ( void  )
protectedvirtual

Performs single step of computations - switches between learning and testing depending on the iteration number.

Implements mic::application::Application.

Definition at line 73 of file ContinuousLearningApplication.cpp.

References APP_STATE, mic::application::Application::iteration, learning_iterations_to_test_ratio, performLearningStep(), and performTestingStep().

Referenced by run().

Here is the call graph for this function:

bool mic::application::ContinuousLearningApplication::performTestingStep ( )
protectedvirtual

Testing is divided into two phases: collection of test statistics and their population. The former is executed in every testing step, whereas the latter only every number_of_averaged_test_measures testing steps.

Definition at line 85 of file ContinuousLearningApplication.cpp.

References collectTestStatistics(), mic::application::Application::iteration, LDEBUG, learning_iteration, LOG, number_of_averaged_test_measures, and populateTestStatistics().

Referenced by performSingleStep().

Here is the call graph for this function:

virtual void mic::application::ContinuousLearningApplication::populateTestStatistics ( )
inlineprotectedvirtual

Populates test statistics, executed only every number_of_averaged_test_measures testing steps - virtual, empty now, to be overridden.

Definition at line 83 of file ContinuousLearningApplication.hpp.

Referenced by performTestingStep().

void mic::application::ContinuousLearningApplication::run ( )
virtual

Handles pause/single step/quit modes/orders, calls performSingleStep() on every step.

Reimplemented from mic::application::Application.

Definition at line 43 of file ContinuousLearningApplication.cpp.

References APP_DATA_SYNCHRONIZATION_SCOPED_LOCK, APP_SLEEP, APP_STATE, mic::application::Application::iteration, and performSingleStep().

Here is the call graph for this function:

Member Data Documentation

unsigned long mic::application::ContinuousLearningApplication::learning_iteration
protected

Learning iteration counter - used in interlaces learning/testing mode.

Definition at line 92 of file ContinuousLearningApplication.hpp.

Referenced by ContinuousLearningApplication(), and performTestingStep().

mic::configuration::Property<unsigned int> mic::application::ContinuousLearningApplication::learning_iterations_to_test_ratio
protected

Number of learning steps after which a single classification test will be performed.

Definition at line 83 of file ContinuousLearningApplication.hpp.

Referenced by ContinuousLearningApplication(), and performSingleStep().

mic::configuration::Property<unsigned int> mic::application::ContinuousLearningApplication::number_of_averaged_test_measures
protected

Numbers of steps that will be averages.

Definition at line 89 of file ContinuousLearningApplication.hpp.

Referenced by ContinuousLearningApplication(), and performTestingStep().


The documentation for this class was generated from the following files: