devdoc.cpp (2509B)
1 /** 2 * @file 3 * @brief Text and HTML-code for the startpage of the doxygen-documentation. 4 */ 5 6 7 /** 8 @mainpage Developer Documentation 9 10 @section presentation Presentation 11 Four binaries are built from these sources: 12 - view_ctl (main file: view_ctl.cpp) 13 - supervisor (main file: supervisor.cpp) 14 - test_serialization (main file: test/serialization.cpp) 15 - test_learning (main file: test/learning.cpp) 16 17 @section view_ctl View_ctl 18 The view controller (@c view_ctl) is the interface to the View database. 19 It can execute three basics commands: 20 - Add a view 21 - Delete a view 22 - List all the views 23 24 Furthermore, the add command run a View factory which can be run in interactive mode or in detached mode (using a configuration file) to construct the View to be inserted in the database. 25 26 @section supervisor Supervisor 27 The @c supervisor is the interface to the training and testing algorithms. 28 Given a set of View, it can train these views on a Data_set or compute prediction errors. 29 Like @ref view_ctl, it operates on a database (from which it gets and updates the View objects) and can be run with a configuration file. 30 31 The two interesting functions called by the supervisor are: 32 - Model::stochastic_learn 33 - Model::error 34 35 @section kinds Kinds 36 In order to link the "viewed" vectors in Data_set (i.e. several vectors representing the same element) with the abstract "views" in Model (i.e. a pair of encoder/decoder.) 37 An attribute "kind" is being used, each View has a kind, it is the kind of the viewed objects (e.g. "16x16 mono image from data set XYZ"). 38 Furthermore, each "concrete" view in Data_set must be labeled with its kind, so that when the @ref supervisor is called, it knows which "concrete" view correspond to which "abstract" view. 39 40 @section tests Tests 41 Two unit test binaries are compiled. 42 43 @c test_serialization tests the serialization of the modules and criteria. 44 There is a test for each module/criterion type, the test being: 45 - Create a module/criterion 46 - Write it in a file 47 - Read a new module/criterion from the same file 48 - Compare the original module/criterion with the read one 49 50 @c test_learning tests the learning algorithm. 51 The test is simple: 52 - Create a Data_set of the logical "and" function 53 - Create a Model with a concept space of dimension 2 54 - Compute the error of the untrained Model on the Data_set 55 - Train the Model on the Data_set 56 - Compute the error of the trained Model on the Data_set 57 - Compare the error of the untrained Model with the error of the trained one 58 */ 59