Repository: mlcommons/GaNDLF

Issue:
Add a few "how-to" guides 
**Is your feature request related to a problem? Please describe.**
Currently, the documentation is focused on researchers that are looking at GaNDLF on the "mid" (config options and detailed information) or "low" level (function/class documentation and code). However, there is nothing for the "high" level researcher.

**Describe the solution you'd like**
Add a document (or something similar) that would provide a step-by-step guide that tells a "high" level researcher how to get started on using GaNDLF for different tasks (segmentation, classification, regression).

**Describe alternatives you've considered**
N.A.

**Additional context**
Might make sense to use the unit tests as a starting point.


Discussion:

Resolving patch:
diff --git a/GANDLF/cli/config_generator.py b/GANDLF/cli/config_generator.py
--- a/GANDLF/cli/config_generator.py
+++ b/GANDLF/cli/config_generator.py
@@ -84,9 +84,6 @@ def config_generator(base_config_path, strategy_path, output_dir):
         base_config_path (str): Path to baseline configuration.
         strategy_path (str): Strategy to employ when creating new configurations.
         output_dir (str): The output directory.
-
-    Raises:
-        ValueError: Parameter check from previous run.
     """
     base_config = None
     with open(base_config_path, "r") as f:
diff --git a/GANDLF/compute/training_loop.py b/GANDLF/compute/training_loop.py
--- a/GANDLF/compute/training_loop.py
+++ b/GANDLF/compute/training_loop.py
@@ -519,7 +519,7 @@ def training_loop(
             os.remove(model_paths["latest"])
         save_model(
             {
-                "epoch": 0,
+                "epoch": epoch,
                 "model_state_dict": model_dict,
                 "optimizer_state_dict": optimizer.state_dict(),
                 "loss": best_loss,


Test patch:
diff --git a/testing/test_full.py b/testing/test_full.py
--- a/testing/test_full.py
+++ b/testing/test_full.py
@@ -154,6 +154,7 @@ def test_generic_constructTrainingCSV():
         # else:
         #     continue
         outputFile = inputDir + "/train_" + application_data + ".csv"
+        outputFile_rel = inputDir + "/train_" + application_data + "_relative.csv"
         # Test with various combinations of relative/absolute paths
         # Absolute input/output
         writeTrainingCSV(
@@ -167,52 +168,7 @@ def test_generic_constructTrainingCSV():
             currentApplicationDir,
             channelsID,
             labelID,
-            outputFile,
-            relativizePathsToOutput=True,
-        )
-        # Relative input, absolute output
-        writeTrainingCSV(
-            os.path.relpath(currentApplicationDir, os.getcwd()),
-            channelsID,
-            labelID,
-            outputFile,
-            relativizePathsToOutput=False,
-        )
-        writeTrainingCSV(
-            os.path.relpath(currentApplicationDir, os.getcwd()),
-            channelsID,
-            labelID,
-            outputFile,
-            relativizePathsToOutput=True,
-        )
-        # Absolute input, relative output
-        writeTrainingCSV(
-            currentApplicationDir,
-            channelsID,
-            labelID,
-            os.path.relpath(outputFile, os.getcwd()),
-            relativizePathsToOutput=False,
-        )
-        writeTrainingCSV(
-            currentApplicationDir,
-            channelsID,
-            labelID,
-            os.path.relpath(outputFile, os.getcwd()),
-            relativizePathsToOutput=True,
-        )
-        # Relative input/output
-        writeTrainingCSV(
-            os.path.relpath(currentApplicationDir, os.getcwd()),
-            channelsID,
-            labelID,
-            os.path.relpath(outputFile, os.getcwd()),
-            relativizePathsToOutput=False,
-        )
-        writeTrainingCSV(
-            os.path.relpath(currentApplicationDir, os.getcwd()),
-            channelsID,
-            labelID,
-            os.path.relpath(outputFile, os.getcwd()),
+            outputFile_rel,
             relativizePathsToOutput=True,
         )