From 539880fafaaad18f412bcd22b775b35e09ca73f7 Mon Sep 17 00:00:00 2001
From: "Daniel.Frisinghelli" <daniel.frisinghelli@eurac.edu>
Date: Wed, 24 Feb 2021 15:44:48 +0100
Subject: [PATCH] Skip already processed folds.

---
 pysegcnn/main/train_source.py | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/pysegcnn/main/train_source.py b/pysegcnn/main/train_source.py
index 55cbaa8..b6b1a4d 100644
--- a/pysegcnn/main/train_source.py
+++ b/pysegcnn/main/train_source.py
@@ -30,6 +30,7 @@ License
 # -*- coding: utf-8 -*-
 
 # builtins
+import logging
 from logging.config import dictConfig
 
 # locals
@@ -39,6 +40,9 @@ from pysegcnn.core.trainer import (DatasetConfig, SplitConfig, ModelConfig,
 from pysegcnn.main.train_config import ds_config, ds_split_config, model_config
 from pysegcnn.core.logging import log_conf
 
+# module level logger
+LOGGER = logging.getLogger(__name__)
+
 
 if __name__ == '__main__':
 
@@ -64,6 +68,12 @@ if __name__ == '__main__':
         # (vii) instanciate the model state file for the current fold
         state_file = net_sc.init_state(src_dc, src_sc, net_mc, fold=fold)
 
+        # check if the state file already exists
+        if state_file.exists() and not net_mc.checkpoint:
+            LOGGER.info('Fold already exists: {}'.format(state_file))
+            LOGGER.info('Moving to next fold ...')
+            continue
+
         # (viii) instanciate logging configuration
         net_lc = LogConfig(state_file)
         dictConfig(log_conf(net_lc.log_file))
-- 
GitLab