mi024

College project master 1 "Projet IAD"
git clone https://esimon.eu/repos/mi024.git
Log | Files | Refs | README

commit 4e318b9d461b2ca86c9360c5a4a624c578dd9299
parent f88971e9cb00ad536a4dc1fa7d154c723717cf08
Author: Étienne Simon <etienne.jl.simon@gmail.com>
Date:   Sun,  5 May 2013 22:01:24 +0200

Add a main page to the developer documentation.

Diffstat:
Mdoc/Doxyfile.in | 5+++--
Adoc/devdoc.cpp | 59+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
2 files changed, 62 insertions(+), 2 deletions(-)

diff --git a/doc/Doxyfile.in b/doc/Doxyfile.in @@ -648,7 +648,8 @@ WARN_LOGFILE = # directories like "/usr/src/myproject". Separate the files or directories # with spaces. -INPUT = @CMAKE_CURRENT_SOURCE_DIR@/../src/ +INPUT = @CMAKE_CURRENT_SOURCE_DIR@/../src \ + @CMAKE_CURRENT_SOURCE_DIR@/devdoc.cpp # This tag can be used to specify the character encoding of the source files # that doxygen parses. Internally doxygen uses the UTF-8 encoding, which is @@ -786,7 +787,7 @@ INLINE_SOURCES = NO # doxygen to hide any special comment blocks from generated source code # fragments. Normal C and C++ comments will always remain visible. -STRIP_CODE_COMMENTS = YES +STRIP_CODE_COMMENTS = NO # If the REFERENCED_BY_RELATION tag is set to YES # then for each documented function all documented diff --git a/doc/devdoc.cpp b/doc/devdoc.cpp @@ -0,0 +1,59 @@ +/** + * @file + * @brief Text and HTML-code for the startpage of the doxygen-documentation. + */ + + +/** +@mainpage Developer Documentation + +@section presentation Presentation +Four binaries are built from these sources: + - view_ctl (main file: view_ctl.cpp) + - supervisor (main file: supervisor.cpp) + - test_serialization (main file: test/serialization.cpp) + - test_learning (main file: test/learning.cpp) + +@section view_ctl View_ctl +The view controller (@c view_ctl) is the interface to the View database. +It can execute three basics commands: + - Add a view + - Delete a view + - List all the views + +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. + +@section supervisor Supervisor +The @c supervisor is the interface to the training and testing algorithms. +Given a set of View, it can train these views on a Data_set or compute prediction errors. +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. + +The two interesting functions called by the supervisor are: + - Model::stochastic_learn + - Model::error + +@section kinds Kinds +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.) +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"). +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. + +@section tests Tests +Two unit test binaries are compiled. + +@c test_serialization tests the serialization of the modules and criteria. +There is a test for each module/criterion type, the test being: + - Create a module/criterion + - Write it in a file + - Read a new module/criterion from the same file + - Compare the original module/criterion with the read one + +@c test_learning tests the learning algorithm. +The test is simple: + - Create a Data_set of the logical "and" function + - Create a Model with a concept space of dimension 2 + - Compute the error of the untrained Model on the Data_set + - Train the Model on the Data_set + - Compute the error of the trained Model on the Data_set + - Compare the error of the untrained Model with the error of the trained one +*/ +