[SYSTEMDS-3971] Improve Scuro test coverage This change adds 13 tests for persistence and results retrieval in `unimodal_optimizer.py`. ### Persistence - `store_results`: It saves the optimizer results and execution statistics in two separate files. The tests check the saved contents, the automatically generated file name, and the fallback when the file name does not end with `.pkl`. - `load_results`: It loads previously saved results. The test stores one result, clears it from memory, and then checks that it can be loaded again. - `_count_results_by_modality`: It counts the results from the first task of each modality for checkpoint progress. The test checks the returned count for both a modality with results and an empty modality. - `resume_from_checkpoint`: It restores results from a checkpoint. The tests cover both restoring saved results and keeping the current results when no checkpoint is found. ### Results Retrieval - `get_k_best_results`: It returns the top `k` results according to their scores. The tests check the score order, using existing cached data, executing the result DAGs when the cache is empty, and returning empty lists when there are no results. - `get_dag_by_id`: It searches a list of DAGs by `dag_id`. The tests cover both returning the matching DAG and returning `None` when the ID is not found.
Overview: Apache SystemDS is an open-source machine learning (ML) system for the end-to-end data science lifecycle from data preparation and cleaning, over efficient ML model training, to debugging and serving. ML algorithms or pipelines are specified in a high-level language with R-like syntax or related Python and Java APIs (with many builtin primitives), and the system automatically generates hybrid runtime plans of local, in-memory operations and distributed operations on Apache Spark. Additional backends exist for GPUs and federated learning.
| Resource | Links |
|---|---|
| Quick Start | Install, Quick Start and Hello World |
| Documentation: | SystemDS Documentation |
| Python Documentation | Python SystemDS Documentation |
| Issue Tracker | Jira Dashboard |
Status and Build: SystemDS is renamed from SystemML which is an Apache Top Level Project. To build from source visit SystemDS Install from source