The created modular software is capable of easily building different neural network architectures. Integrated Tensorboard capabilities to study optimization parameters during training.
The main modules are:
- Pickler. Several datasets, in the form of CSV data frames, are generated by ROS-MAGNA, each of them with certain specifications as environment, mission o navigation algorithms that take part in it. Hence, each training requires a set of
characteristics defined in part with the main parameters. Once the dataset has been selected, each iteration passes through the filter. - Preprocess. A dictionary containing mathematical information of the dataset is computed. These values are used to perform transformations on the data. This preparation is required at this point so the learning process is facilitated mathematically, no extra information is biased and the convergence is faster.
- Graph Maker. Tensorflow (TF) working philosophy is based on tensor (matrices of multiple dimensions) operations. Those operations are represented as a graph where each node is an operation and each row represents a tensor.
- Graph Trainer. This process must be done inside a Tensorflow session. Global variables of the graph, such as randomized weights, are initialised. Besides, a saver TF utility is created and a TF summary merges the created variables to form the graph. The path to the session storage is built using every important parameter that defines this single training process.
- Computation. Tensorflow is the library used to build upon every ML. It serves also as interface to computation power available management.
- Application. MAGNA and its Navigation Algorithms as interface with the ML modules are used to generate training data with auxiliar teacher algorithm and also to generate test data making use of the trained ML algorithms.
- Databases. As highlated before, diverse databases are filled with each corresponding dataset: training data, sessions data and test data.
The full process schema is presented below.