![]() |
Ultra 0.9.4
|
Public Member Functions | |
| template<Population P, Fitness F> | |
| void | save_snapshot (const P &, const summary< std::ranges::range_value_t< P >, F > &) |
| template<Individual I, Fitness F> | |
| void | save_summary (const search_stats< I, F > &, const model_measurements< F > &) const |
| bool | is_valid () const |
| template<Individual I, Fitness F> | |
| void | save_dynamic (const summary< I, F > &sum, const distribution< F > &fit_dist) |
| template<Fitness F> | |
| void | save_population (unsigned generation, const distribution< F > &fit_dist) |
| template<Population P, Fitness F> | |
| void | save_layers (const P &pop, const summary< std::ranges::range_value_t< P >, F > &sum) |
| template<Population P, Fitness F> | |
| void | save_snapshot (const P &pop, const summary< std::ranges::range_value_t< P >, F > &sum) |
| template<Individual I, Fitness F> | |
| void | save_summary (const search_stats< I, F > &stats, const model_measurements< F > &threshold) const |
Public Attributes | |
| std::filesystem::path | base_dir {} |
| std::filesystem::path | dynamic_file_path {default_dynamic_file} |
| std::filesystem::path | layers_file_path {default_layers_file} |
| std::filesystem::path | population_file_path {default_population_file} |
| std::filesystem::path | summary_file_path {default_summary_file} |
|
nodiscard |
| void ultra::search_log::save_layers | ( | const P & | pop, |
| const summary< std::ranges::range_value_t< P >, F > & | sum ) |
Saves working / statistical information about layer status.
| [in] | pop | complete evolved population |
| [in] | sum | up to date evolution summary |
| void ultra::search_log::save_snapshot | ( | const P & | pop, |
| const summary< std::ranges::range_value_t< P >, F > & | sum ) |
Saves working / statistical information in a log file.
Data are written in a CSV-like fashion and are partitioned in blocks separated by two blank lines:
[BLOCK_1]\n\n [BLOCK_2]\n\n ... [BLOCK_x]
where each block is a set of lines such as this:
data_1 [space] data_2 [space] ... [space] data_n
We use this format, instead of XML, because statistics are produced incrementally, making it easy and fast to append new data to a CSV-like file. Additionally, extracting and plotting data with GNU Plot is simple.
| void ultra::search_log::save_snapshot | ( | const P & | pop, |
| const summary< std::ranges::range_value_t< P >, F > & | sum ) |
Saves working / statistical information in a log file.
Data are written in a CSV-like fashion and are partitioned in blocks separated by two blank lines:
[BLOCK_1]\n\n [BLOCK_2]\n\n ... [BLOCK_x]
where each block is a set of lines such as this:
data_1 [space] data_2 [space] ... [space] data_n
We use this format, instead of XML, because statistics are produced incrementally, making it easy and fast to append new data to a CSV-like file. Additionally, extracting and plotting data with GNU Plot is simple.
| std::filesystem::path ultra::search_log::base_dir {} |
A base common path for log files.
| std::filesystem::path ultra::search_log::dynamic_file_path {default_dynamic_file} |
The path to the XML file used to save real-time information.
| std::filesystem::path ultra::search_log::layers_file_path {default_layers_file} |
The path to the XML file used to save layer-specific information.
| std::filesystem::path ultra::search_log::population_file_path {default_population_file} |
The path to the XML file used to save population-specific information.
| std::filesystem::path ultra::search_log::summary_file_path {default_summary_file} |
The path to the XML file used to save summary information.