From a9bec7c2fba1af5f57aef6e86d6dfd842fa8706a Mon Sep 17 00:00:00 2001
From: Maciej Wielgosz <maciej.wielgosz@nibio.no>
Date: Wed, 18 Jan 2023 14:55:35 +0100
Subject: [PATCH] pipeline for oracle cloud deployment, parameter for
 checkpoint sem. seg. from the command line

---
 config/config.yaml               | 1 +
 run.py                           | 1 +
 run_bash_scripts/sem_seg_sean.sh | 7 +++++--
 3 files changed, 7 insertions(+), 2 deletions(-)

diff --git a/config/config.yaml b/config/config.yaml
index 4166035..fc9e44d 100644
--- a/config/config.yaml
+++ b/config/config.yaml
@@ -9,6 +9,7 @@ label_formats:
   label_for_instances_in_predicted: 'instance_nr'
 semantic_segmentation_params:
   sematic_segmentation_script: './run_bash_scripts/sem_seg_sean.sh'
+  checkpoint_model_path: './fsct/model/model.pth'
   tile_size: 10 # tile size in meters
   min_density: 100 # minimum density of points in a tile(used for removing small tiles)
   remove_small_tiles: 1 # 1: remove small tiles, 0: not remove small tiles
diff --git a/run.py b/run.py
index 4d94222..a008ea3 100644
--- a/run.py
+++ b/run.py
@@ -35,6 +35,7 @@ def main(path_to_config_file):
 
         sem_seg_args.extend([
             "-d", str(config["general"]["input_folder"]),
+            "-c", str(config["semantic_segmentation_params"]["checkpoint_model_path"]),
             "-t", str(config["semantic_segmentation_params"]["tile_size"]),
             "-m", str(config["semantic_segmentation_params"]["min_density"]),
             "-z", str(config["semantic_segmentation_params"]["remove_small_tiles"])
diff --git a/run_bash_scripts/sem_seg_sean.sh b/run_bash_scripts/sem_seg_sean.sh
index 67295d4..51c3395 100755
--- a/run_bash_scripts/sem_seg_sean.sh
+++ b/run_bash_scripts/sem_seg_sean.sh
@@ -7,6 +7,7 @@ CONDA_ENV="pdal-env-1" # conda environment for running the pipeline
 
 # Parameters for the semetnic segmentation
 data_folder="" # path to the folder containing the data
+checkpoint_model_path="./fsct/model/model.pth"
 tile_size=10 # tile size in meters
 min_density=75 # minimum density of points in a tile(used for removing small tiles)
 remove_small_tiles=0 # 1: remove small tiles, 0: not remove small tiles
@@ -16,10 +17,12 @@ remove_small_tiles=0 # 1: remove small tiles, 0: not remove small tiles
 # extract tiling parameters as command line arguments with the same default values
 
 # add remove_small_tiles parameter
-while getopts "d:t:m:z:" opt; do
+while getopts "d:c:t:m:z:" opt; do
   case $opt in
     d) data_folder="$OPTARG"
     ;;
+    c) checkpoint_model_path="$OPTARG"
+    ;;
     t) tile_size="$OPTARG"
     ;;
     m) min_density="$OPTARG"
@@ -140,7 +143,7 @@ for d in $data_folder/segmented_point_clouds/tiled/*/; do
     for f in $d/*.ply; do
         echo "Processing $f file..."
         python sean_sem_seg/run_single_file.py \
-        --model /home/nibio/mutable-outside-world/code/gitlab_fsct/instance_segmentation_classic/fsct/model/model.pth \
+        --model $checkpoint_model_path \
         --point-cloud $f \
         --batch_size 10 \
         --odir $d \
-- 
GitLab