diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index aeded1c8d507c7198eac969c545fec33d68d58d5..c5cfee3076cd043cc79be1621214ef5fa7e9731a 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -9,7 +9,7 @@ Loading: - era5 stage: build script: - - echo "dataset testing" + - echo "Dataset testing" - cd /data_era5/2017 - ls -ls @@ -26,7 +26,7 @@ Preprocessing: - era5 stage: build script: - - echo "Building-preprocessing" + - echo "Building preprocessing" Training: @@ -34,14 +34,34 @@ Training: - era5 stage: build script: - - echo "Building-Training" + - echo "Building training" + + +Postprocessing: + tags: + - era5 + stage: build + script: + - echo "Building postprocessing" + - zypper --non-interactive install gcc gcc-c++ gcc-fortran + - zypper --non-interactive install openmpi openmpi-devel + - zypper --non-interactive install python3 + - ls /usr/lib64/mpi/gcc/openmpi/bin + - export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH + - export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib64/mpi/gcc/openmpi/bin + - export PATH=$PATH:/usr/lib64/mpi/gcc/openmpi/bin + - mpicxx -showme:link -pthread -L/usr/lib64/mpi/gcc/openmpi/bin -lmpi_cxx -lmpi -lopen-rte -lopen-pal -ldl -Wl,--export-dynamic -lnsl -lutil -lm -ldl + - pip install -r video_prediction_tools/env_setup/requirements_non_HPC.txt + - chmod +x ./video_prediction_tools/other_scripts/visualize_postprocess_era5_template.sh + - ./video_prediction_tools/other_scripts/visualize_postprocess_era5_template.sh + test: tags: - era5 stage: build script: - - echo "model testing" + - echo "Model testing" # - zypper --non-interactive install python3-pip # - zypper --non-interactive install python-devel # - pip install --upgrade pip diff --git a/video_prediction_tools/env_setup/requirements_non_HPC.txt b/video_prediction_tools/env_setup/requirements_non_HPC.txt index de100f9268b6112007f6b9a5df0549fe94718cfa..d72e87b47a762c93457e15ba1e202f76bcd148c0 100755 --- a/video_prediction_tools/env_setup/requirements_non_HPC.txt +++ b/video_prediction_tools/env_setup/requirements_non_HPC.txt @@ -4,7 +4,9 @@ pandas==0.25.3 xarray==0.16.0 basemap==1.3.0 imageio==2.15.0 # although this numpy-version is in the container, we set it here to avoid any further installation +numpy==1.17.3 scikit-image==0.17.2 +#scikit-image==0.18.1 opencv-python-headless==4.2.0.34 netcdf4==1.5.8 #metadata==0.2 diff --git a/video_prediction_tools/other_scripts/visualize_postprocess_era5_template.sh b/video_prediction_tools/other_scripts/visualize_postprocess_era5_template.sh index 8a063501382054535d8f50fb1c1fd8cd3e1fda7f..ee9a2fb0aa92d650e3578a5431f3312b7b97ddb2 100644 --- a/video_prediction_tools/other_scripts/visualize_postprocess_era5_template.sh +++ b/video_prediction_tools/other_scripts/visualize_postprocess_era5_template.sh @@ -13,8 +13,8 @@ lquick=1 climate_file=/home/b.gong/data_era5/T2monthly/climatology_t2m_1991-2020.nc #select models model=convLSTM -mkdir ${results_dir} -python3 ../main_scripts/main_visualize_postprocess.py --checkpoint ${checkpoint_dir} --mode test \ +#mkdir ${results_dir} +python3 ./video_prediction_tools/main_scripts/main_visualize_postprocess.py --checkpoint ${checkpoint_dir} --mode test \ --results_dir ${results_dir} --batch_size 4 \ --num_stochastic_samples 1 \ --lquick_evaluation ${lquick} --climatology_file ${climate_file} diff --git a/video_prediction_tools/utils/runscript_generator/config_postprocess.py b/video_prediction_tools/utils/runscript_generator/config_postprocess.py index eff2694bbd1dc381726e54bb4fb46bf0af5ddb4c..544337834fd4a9a1241f8e20e2cf186d8a2265ce 100755 --- a/video_prediction_tools/utils/runscript_generator/config_postprocess.py +++ b/video_prediction_tools/utils/runscript_generator/config_postprocess.py @@ -76,24 +76,32 @@ class Config_Postprocess(Config_runscript_base): self.model = os.path.basename(dir_base) # List the subdirectories... _ = Config_Postprocess.get_subdir_list(dir_base) - # ... and obtain the checkpoint directory + + # Chose the checkpoint directory + ckp_req_str = "Chose a checkpoint directory from the list above:" + ckp_req_err = NotADirectoryError("Could not find the passed directory.") + dir_base = Config_Postprocess.keyboard_interaction(ckp_req_str, Config_Postprocess.check_dir, ckp_req_err, + prefix2arg=dir_base+"/", ntries=2) + # List the subdirectories... + _ = Config_Postprocess.get_subdir_list(dir_base) + # ... and obtain the model directory with checkpoints trained_dir_req_str = "Choose a trained model from the experiment list above:" trained_err = FileNotFoundError("No trained model parameters found.") - self.checkpoint_dir = Config_Postprocess.keyboard_interaction(trained_dir_req_str, Config_Postprocess.check_traindir, trained_err, ntries=3, prefix2arg=dir_base+"/") + # get the relevant information from checkpoint_dir in order to construct source_dir and results_dir # (following naming convention) cp_dir_split = Config_Postprocess.path_rec_split(self.checkpoint_dir) cp_dir_split = list(filter(None, cp_dir_split)) # get rid of empty list elements - base_dir, exp_dir_base, exp_dir = "/"+os.path.join(*cp_dir_split[:-4]), cp_dir_split[-3], cp_dir_split[-1] + base_dir, exp_dir_base, exp_dir = "/"+os.path.join(*cp_dir_split[:-4]), cp_dir_split[-3], cp_dir_split[-2] self.runscript_target = self.rscrpt_tmpl_prefix + self.dataset + "_" + exp_dir + ".sh" # Set results_dir - self.results_dir = os.path.join(base_dir, "results", exp_dir_base, self.model, exp_dir) + self.results_dir = os.path.join(base_dir, "results", exp_dir_base,self.model, exp_dir) return # Decide if quick evaluation should be performed diff --git a/video_prediction_tools/utils/runscript_generator/config_utils.py b/video_prediction_tools/utils/runscript_generator/config_utils.py index e29ab9457615cbb6641aa27e0d5b9da2ac9bdc9f..4740f81e0b16519c6cc15394b14bdea77921e056 100755 --- a/video_prediction_tools/utils/runscript_generator/config_utils.py +++ b/video_prediction_tools/utils/runscript_generator/config_utils.py @@ -31,9 +31,9 @@ class Config_runscript_base: self.VIRT_ENV_NAME = venv_name # runscript related attributes if lhpc: - self.runscript_dir = "../HPC_scripts" + self.runscript_dir = "../JSC_scripts" else: - self.runscript_dir = "../nonHPC_scripts" + self.runscript_dir = "../HPC_scripts" self.long_name_wrk_step = None self.rscrpt_tmpl_prefix = None diff --git a/video_prediction_tools/utils/runscript_generator/setup_runscript_templates.sh b/video_prediction_tools/utils/runscript_generator/setup_runscript_templates.sh index f47f6dcb390db9a14f09570e4e0d354aa7d50d9b..e89b6ba55790be1e3eca1db99faa14a6ad0c8cd0 100755 --- a/video_prediction_tools/utils/runscript_generator/setup_runscript_templates.sh +++ b/video_prediction_tools/utils/runscript_generator/setup_runscript_templates.sh @@ -47,7 +47,7 @@ else fi echo "Start setting up templates under nonHPC_scripts/..." -for f in "${BASE_DIR}"/nonHPC_scripts/*template.sh; do +for f in "${BASE_DIR}"/HPC_scripts/*template.sh; do echo "Setting up ${f}..." fnew=${f%%.*}_${USER}.sh cp "${f}" "${fnew}" @@ -56,7 +56,7 @@ done echo "Done!" echo "Start setting up templates under HPC_scripts/" -for f in "${BASE_DIR}"/HPC_scripts/*template.sh; do +for f in "${BASE_DIR}"/JSC_scripts/*template.sh; do echo "Setting up ${f}..." fnew=${f%%.*}_${USER}.sh cp "${f}" "${fnew}"