diff --git a/ffl/224/v0_all_bs4x16/.hydra/config.yaml b/ffl/224/v0_all_bs4x16/.hydra/config.yaml new file mode 100644 index 0000000000000000000000000000000000000000..762b8f43f9171692249933de93cc4891e8fe64ee --- /dev/null +++ b/ffl/224/v0_all_bs4x16/.hydra/config.yaml @@ -0,0 +1,251 @@ +host: + name: jeanzay + data_root: /lustre/fswork/projects/rech/cso/uku93eu/data + update_pbar_every: 60 +run_type: + name: release + batch_size: 16 + train_subset: null + val_subset: null + test_subset: null + logging: INFO + num_workers: 16 + log_to_wandb: true +polygonization: + method: + - acm + common_params: + init_data_level: 0.5 + simple_method: + data_level: 0.5 + tolerance: + - 1.0 + seg_threshold: 0.5 + min_area: 10 + asm_method: + init_method: skeleton + data_level: 0.5 + loss_params: + coefs: + step_thresholds: + - 0 + - 100 + - 200 + - 300 + data: + - 1.0 + - 0.1 + - 0.0 + - 0.0 + crossfield: + - 0.0 + - 0.05 + - 0.0 + - 0.0 + length: + - 0.1 + - 0.01 + - 0.0 + - 0.0 + curvature: + - 0.0 + - 0.0 + - 1.0 + - 0.0 + corner: + - 0.0 + - 0.0 + - 0.5 + - 0.0 + junction: + - 0.0 + - 0.0 + - 0.5 + - 0.0 + curvature_dissimilarity_threshold: 2 + corner_angles: + - 45 + - 90 + - 135 + corner_angle_threshold: 22.5 + junction_angles: + - 0 + - 45 + - 90 + - 135 + junction_angle_weights: + - 1 + - 0.01 + - 0.1 + - 0.01 + junction_angle_threshold: 22.5 + lr: 0.1 + gamma: 0.995 + device: cuda + tolerance: + - 1 + seg_threshold: 0.5 + min_area: 10 + acm_method: + steps: 500 + data_level: 0.5 + data_coef: 0.1 + length_coef: 0.4 + crossfield_coef: 0.5 + poly_lr: 0.01 + warmup_iters: 100 + warmup_factor: 0.1 + device: cuda + tolerance: + - 1 + seg_threshold: 0.5 + min_area: 10 +dataset: + name: lidarpoly + size: ${..experiment.encoder.in_size} + path: ${host.data_root}/${.name}/${.size} + annotations: + train: ${..path}/annotations_${...country}_train.json + val: ${..path}/annotations_${...country}_val.json + test: ${..path}/annotations_${...country}_test.json + ffl_stats: + train: ${..path}/ffl/train/stats-${...country}.pt + val: ${..path}/ffl/val/stats-${...country}.pt + test: ${..path}/ffl/test/stats-${...country}.pt + train_subset: ${..run_type.train_subset} + val_subset: ${..run_type.val_subset} + test_subset: ${..run_type.test_subset} +experiment: + encoder: + name: early_fusion_vit_cnn + use_images: true + use_lidar: true + in_size: 224 + in_height: ${.in_size} + in_width: ${.in_size} + in_voxel_size: + x: 8 + 'y': 8 + z: 100 + max_num_points_per_voxel: 64 + max_num_voxels: + train: 784 + test: 784 + out_feature_size: ${..model.decoder.in_feature_size} + out_feature_height: ${.out_feature_size} + out_feature_width: ${.out_feature_size} + out_feature_dim: ${..model.decoder.in_feature_dim} + vit: + type: vit_small_patch${..patch_size}_${..in_size}.dino + checkpoint_file: ${....host.data_root}/checkpoints/backbones/dino_deitsmall8_pretrain.pth + pretrained: true + patch_size: 8 + patch_feature_size: 28 + patch_feature_height: ${.patch_feature_size} + patch_feature_width: ${.patch_feature_size} + patch_feature_dim: 384 + image_mean: + - 0.0 + - 0.0 + - 0.0 + image_std: + - 1.0 + - 1.0 + - 1.0 + image_max_pixel_value: 255.0 + augmentations: + - D4 + - ColorJitter + - GaussNoise + - Normalize + max_points_per_voxel: 64 + model: + name: ffl + compute_seg: true + compute_crossfield: true + seg: + compute_interior: true + compute_edge: false + compute_vertex: false + decoder: + in_feature_size: ${...encoder.in_size} + in_feature_width: ${.in_feature_size} + in_feature_height: ${.in_feature_size} + in_feature_dim: ${if:${eq:${.in_feature_size},512}, 32, 256} + point_pillars: + out_channels: + - ${...decoder.in_feature_dim} + - ${...decoder.in_feature_dim} + - ${...decoder.in_feature_dim}] + upsample_strides: + - 4 + - 8 + - 16 + loss: + multi: + epoch_thresholds: + - 0 + - 5 + - 10 + weights: + seg: 1 + crossfield_align: 1 + crossfield_align90: 0.5 + crossfield_smooth: 0.005 + seg_interior_crossfield: + - 0 + - 0 + - 0.2 + seg_edge_crossfield: + - 0 + - 0 + - 0.2 + seg_edge_interior: + - 0 + - 0 + - 0.2 + seg: + bce_coef: 1.0 + dice_coef: 0.2 + use_freq: false + use_dist: false + use_size: false + w0: 50 + sigma: 10 + type: bool + batch_size: ${...run_type.batch_size} + start_epoch: 0 + num_epochs: 200 + milestone: 0 + learning_rate: 0.0001 + weight_decay: 0.0 + gamma: 0.95 + eval: + patch_size: null + patch_overlap: 200 + seg_threshold: 0.5 + name: v0_all_bs4x16 + group_name: v2_${.model.name} +output_dir: ${.host.data_root}/${.experiment.model.name}_outputs/${.dataset.name}/${.experiment.encoder.in_size}/${.experiment.name} +checkpoint: latest +checkpoint_file: null +save_best: true +save_latest: true +save_every: 10 +val_every: 1 +best_val_loss: 10000000.0 +best_val_iou: 0.0 +multi_gpu: true +device: cuda +log_to_wandb: true +num_workers: ${.run_type.num_workers} +update_pbar_every: ${.host.update_pbar_every} +country: all +use_lidar: ${.experiment.encoder.use_lidar} +use_images: ${.experiment.encoder.use_images} +eval: + split: val + pred_file: ${..output_dir}/predictions_${..country}_${.split}/${..checkpoint}.json + modes: + - iou + eval_file: results/metrics diff --git a/ffl/224/v0_all_bs4x16/.hydra/hydra.yaml b/ffl/224/v0_all_bs4x16/.hydra/hydra.yaml new file mode 100644 index 0000000000000000000000000000000000000000..54c8876cbc4dc7f224ecfa3141b473ece7829aed --- /dev/null +++ b/ffl/224/v0_all_bs4x16/.hydra/hydra.yaml @@ -0,0 +1,169 @@ +hydra: + run: + dir: ${...output_dir} + sweep: + dir: multirun/${now:%Y-%m-%d}/${now:%H-%M-%S} + subdir: ${hydra.job.num} + launcher: + _target_: hydra._internal.core_plugins.basic_launcher.BasicLauncher + sweeper: + _target_: hydra._internal.core_plugins.basic_sweeper.BasicSweeper + max_batch_size: null + params: null + help: + app_name: ${hydra.job.name} + header: '${hydra.help.app_name} is powered by Hydra. + + ' + footer: 'Powered by Hydra (https://hydra.cc) + + Use --hydra-help to view Hydra specific help + + ' + template: '${hydra.help.header} + + == Configuration groups == + + Compose your configuration from those groups (group=option) + + + $APP_CONFIG_GROUPS + + + == Config == + + Override anything in the config (foo.bar=value) + + + $CONFIG + + + ${hydra.help.footer} + + ' + hydra_help: + template: 'Hydra (${hydra.runtime.version}) + + See https://hydra.cc for more info. + + + == Flags == + + $FLAGS_HELP + + + == Configuration groups == + + Compose your configuration from those groups (For example, append hydra/job_logging=disabled + to command line) + + + $HYDRA_CONFIG_GROUPS + + + Use ''--cfg hydra'' to Show the Hydra config. + + ' + hydra_help: ??? + hydra_logging: + version: 1 + formatters: + simple: + format: '[%(asctime)s][HYDRA] %(message)s' + handlers: + console: + class: logging.StreamHandler + formatter: simple + stream: ext://sys.stdout + root: + level: INFO + handlers: + - console + loggers: + logging_example: + level: DEBUG + disable_existing_loggers: false + job_logging: + version: 1 + formatters: + simple: + format: '[%(asctime)s][%(name)s][%(levelname)s] - %(message)s' + handlers: + console: + class: logging.StreamHandler + formatter: simple + stream: ext://sys.stdout + file: + class: logging.FileHandler + formatter: simple + filename: ${hydra.runtime.output_dir}/${hydra.job.name}.log + root: + level: INFO + handlers: + - console + - file + disable_existing_loggers: false + env: {} + mode: RUN + searchpath: [] + callbacks: {} + output_subdir: .hydra + overrides: + hydra: + - hydra.mode=RUN + task: + - log_to_wandb=true + - host=jz + - run_type=release + - multi_gpu=true + - checkpoint=latest + - experiment=ffl_fusion + - experiment.name=v0_all_bs4x16 + - country=all + job: + name: train + chdir: null + override_dirname: checkpoint=latest,country=all,experiment.name=v0_all_bs4x16,experiment=ffl_fusion,host=jz,log_to_wandb=true,multi_gpu=true,run_type=release + id: ??? + num: ??? + config_name: config + env_set: {} + env_copy: [] + config: + override_dirname: + kv_sep: '=' + item_sep: ',' + exclude_keys: [] + runtime: + version: 1.3.2 + version_base: '1.3' + cwd: /lustre/fswork/projects/rech/cso/uku93eu/python/PixelsPointsPolygons + config_sources: + - path: hydra.conf + schema: pkg + provider: hydra + - path: /lustre/fswork/projects/rech/cso/uku93eu/python/PixelsPointsPolygons/config + schema: file + provider: main + - path: '' + schema: structured + provider: schema + output_dir: /lustre/fswork/projects/rech/cso/uku93eu/data/ffl_outputs/lidarpoly/224/v0_all_bs4x16 + choices: + experiment: ffl_fusion + model@experiment.model: ffl + encoder@experiment.encoder: early_fusion_vit_cnn + dataset: lidarpoly + polygonization: asm_acm + run_type: release + host: jz + hydra/env: default + hydra/callbacks: null + hydra/job_logging: default + hydra/hydra_logging: default + hydra/hydra_help: default + hydra/help: default + hydra/sweeper: basic + hydra/launcher: basic + hydra/output: default + verbose: false diff --git a/ffl/224/v0_all_bs4x16/.hydra/overrides.yaml b/ffl/224/v0_all_bs4x16/.hydra/overrides.yaml new file mode 100644 index 0000000000000000000000000000000000000000..0319a0e326d083cd3c8ca7cd98991e38259df52f --- /dev/null +++ b/ffl/224/v0_all_bs4x16/.hydra/overrides.yaml @@ -0,0 +1,8 @@ +- log_to_wandb=true +- host=jz +- run_type=release +- multi_gpu=true +- checkpoint=latest +- experiment=ffl_fusion +- experiment.name=v0_all_bs4x16 +- country=all diff --git a/ffl/224/v0_all_bs4x16/predictions/best_val_iou.json b/ffl/224/v0_all_bs4x16/predictions/best_val_iou.json new file mode 100644 index 0000000000000000000000000000000000000000..8b152e669cbc98e8051e855889d896f751c0c892 --- /dev/null +++ b/ffl/224/v0_all_bs4x16/predictions/best_val_iou.json @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e7ad2fabae69d80b301d7915e30504ec824b8c8a9cc86ca4fcf294d02a16e49c +size 1063718 diff --git a/ffl/224/v0_all_bs4x16/predictions_all_test/acm.tol_1/best_val_iou.json b/ffl/224/v0_all_bs4x16/predictions_all_test/acm.tol_1/best_val_iou.json new file mode 100644 index 0000000000000000000000000000000000000000..cf0c5bf41c0210a41102fc9e15ca77728a8511c5 --- /dev/null +++ b/ffl/224/v0_all_bs4x16/predictions_all_test/acm.tol_1/best_val_iou.json @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:98821b1ab587eafdf3d472275776bf28b9132c4cb8a92186a479a254eb30cb2e +size 22985950 diff --git a/ffl/224/v0_all_bs4x16/predictions_all_test/best_val_iou.json b/ffl/224/v0_all_bs4x16/predictions_all_test/best_val_iou.json new file mode 100644 index 0000000000000000000000000000000000000000..cf0c5bf41c0210a41102fc9e15ca77728a8511c5 --- /dev/null +++ b/ffl/224/v0_all_bs4x16/predictions_all_test/best_val_iou.json @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:98821b1ab587eafdf3d472275776bf28b9132c4cb8a92186a479a254eb30cb2e +size 22985950 diff --git a/ffl/224/v4_fusion_bs4x16_mnv64/.hydra/config.yaml b/ffl/224/v4_fusion_bs4x16_mnv64/.hydra/config.yaml new file mode 100644 index 0000000000000000000000000000000000000000..d7e1c185521c0f8cbc037cd31ea5d04e93168584 --- /dev/null +++ b/ffl/224/v4_fusion_bs4x16_mnv64/.hydra/config.yaml @@ -0,0 +1,256 @@ +host: + name: gin + data_root: /data/rsulzer + update_pbar_every: 1 +run_type: + name: release + batch_size: 16 + train_subset: null + val_subset: null + test_subset: null + logging: INFO + num_workers: 16 + log_to_wandb: true +polygonization: + method: + - acm + common_params: + init_data_level: 0.5 + simple_method: + data_level: 0.5 + tolerance: + - 1.0 + seg_threshold: 0.5 + min_area: 10 + asm_method: + init_method: skeleton + data_level: 0.5 + loss_params: + coefs: + step_thresholds: + - 0 + - 100 + - 200 + - 300 + data: + - 1.0 + - 0.1 + - 0.0 + - 0.0 + crossfield: + - 0.0 + - 0.05 + - 0.0 + - 0.0 + length: + - 0.1 + - 0.01 + - 0.0 + - 0.0 + curvature: + - 0.0 + - 0.0 + - 1.0 + - 0.0 + corner: + - 0.0 + - 0.0 + - 0.5 + - 0.0 + junction: + - 0.0 + - 0.0 + - 0.5 + - 0.0 + curvature_dissimilarity_threshold: 2 + corner_angles: + - 45 + - 90 + - 135 + corner_angle_threshold: 22.5 + junction_angles: + - 0 + - 45 + - 90 + - 135 + junction_angle_weights: + - 1 + - 0.01 + - 0.1 + - 0.01 + junction_angle_threshold: 22.5 + lr: 0.1 + gamma: 0.995 + device: cuda + tolerance: + - 1 + seg_threshold: 0.5 + min_area: 10 + acm_method: + steps: 500 + data_level: 0.5 + data_coef: 0.1 + length_coef: 0.4 + crossfield_coef: 0.5 + poly_lr: 0.01 + warmup_iters: 100 + warmup_factor: 0.1 + device: cuda + tolerance: + - 1 + seg_threshold: 0.5 + min_area: 10 +dataset: + name: p3 + size: ${..experiment.encoder.in_size} + path: ${host.data_root}/PixelsPointsPolygons/data/${.size} + annotations: + train: ${..path}/annotations_${...country}_train.json + val: ${..path}/annotations_${...country}_val.json + test: ${..path}/annotations_${...country}_test.json + ffl_stats: + train: ${..path}/ffl/train/stats-${...country}.pt + val: ${..path}/ffl/val/stats-${...country}.pt + test: ${..path}/ffl/test/stats-${...country}.pt + train_subset: ${..run_type.train_subset} + val_subset: ${..run_type.val_subset} + test_subset: ${..run_type.test_subset} +experiment: + encoder: + name: early_fusion_vit_cnn + use_images: true + use_lidar: true + in_size: 224 + in_height: ${.in_size} + in_width: ${.in_size} + in_voxel_size: + x: 8 + 'y': 8 + z: 100 + max_num_points_per_voxel: 64 + max_num_voxels: + train: 784 + test: 784 + out_feature_size: ${..model.decoder.in_feature_size} + out_feature_height: ${.out_feature_size} + out_feature_width: ${.out_feature_size} + out_feature_dim: ${..model.decoder.in_feature_dim} + vit: + type: vit_small_patch${..patch_size}_${..in_size}.dino + checkpoint_file: ${....host.data_root}/checkpoints/backbones/dino_deitsmall8_pretrain.pth + pretrained: true + patch_size: 8 + patch_feature_size: 28 + patch_feature_height: ${.patch_feature_size} + patch_feature_width: ${.patch_feature_size} + patch_feature_dim: 384 + image_mean: + - 0.0 + - 0.0 + - 0.0 + image_std: + - 1.0 + - 1.0 + - 1.0 + image_max_pixel_value: 255.0 + augmentations: + - D4 + - ColorJitter + - GaussNoise + - Normalize + max_points_per_voxel: 64 + model: + name: ffl + compute_seg: true + compute_crossfield: true + seg: + compute_interior: true + compute_edge: false + compute_vertex: false + decoder: + in_feature_size: ${...encoder.in_size} + in_feature_width: ${.in_feature_size} + in_feature_height: ${.in_feature_size} + in_feature_dim: ${if:${eq:${.in_feature_size},512}, 32, 256} + point_pillars: + out_channels: + - ${...decoder.in_feature_dim} + - ${...decoder.in_feature_dim} + - ${...decoder.in_feature_dim}] + upsample_strides: + - 4 + - 8 + - 16 + loss: + multi: + epoch_thresholds: + - 0 + - 5 + - 10 + weights: + seg: 1 + crossfield_align: 1 + crossfield_align90: 0.5 + crossfield_smooth: 0.005 + seg_interior_crossfield: + - 0 + - 0 + - 0.2 + seg_edge_crossfield: + - 0 + - 0 + - 0.2 + seg_edge_interior: + - 0 + - 0 + - 0.2 + seg: + bce_coef: 1.0 + dice_coef: 0.2 + use_freq: false + use_dist: false + use_size: false + w0: 50 + sigma: 10 + type: bool + batch_size: ${...run_type.batch_size} + start_epoch: 0 + num_epochs: 200 + milestone: 0 + learning_rate: 0.0001 + weight_decay: 0.0 + gamma: 0.95 + eval: + patch_size: null + patch_overlap: 200 + seg_threshold: 0.5 + name: v4_fusion_bs4x16_mnv64 + group_name: v2_${.model.name} +output_dir: ${.host.data_root}/${.experiment.model.name}_outputs/${.dataset.name}/${.experiment.encoder.in_size}/${.experiment.name} +checkpoint: best_val_iou +checkpoint_file: null +save_best: true +save_latest: true +save_every: 10 +val_every: 1 +best_val_loss: 10000000.0 +best_val_iou: 0.0 +multi_gpu: false +device: cuda +log_to_wandb: false +num_workers: ${.run_type.num_workers} +update_pbar_every: ${.host.update_pbar_every} +country: Switzerland +use_lidar: ${.experiment.encoder.use_lidar} +use_images: ${.experiment.encoder.use_images} +eval: + split: val + pred_file: ${..output_dir}/predictions_${..country}_${.split}/${..checkpoint}.json + modes: + - ldof + - coco + - iou + - polis + - mta + eval_file: results/metrics + ldof_exe: /user/rsulzer/home/cpp/line-DOF-metric/build/calculate_DoF diff --git a/ffl/224/v4_fusion_bs4x16_mnv64/.hydra/hydra.yaml b/ffl/224/v4_fusion_bs4x16_mnv64/.hydra/hydra.yaml new file mode 100644 index 0000000000000000000000000000000000000000..d46b44a8682343141db676ac085045a226b99926 --- /dev/null +++ b/ffl/224/v4_fusion_bs4x16_mnv64/.hydra/hydra.yaml @@ -0,0 +1,170 @@ +hydra: + run: + dir: ${...output_dir} + sweep: + dir: multirun/${now:%Y-%m-%d}/${now:%H-%M-%S} + subdir: ${hydra.job.num} + launcher: + _target_: hydra._internal.core_plugins.basic_launcher.BasicLauncher + sweeper: + _target_: hydra._internal.core_plugins.basic_sweeper.BasicSweeper + max_batch_size: null + params: null + help: + app_name: ${hydra.job.name} + header: '${hydra.help.app_name} is powered by Hydra. + + ' + footer: 'Powered by Hydra (https://hydra.cc) + + Use --hydra-help to view Hydra specific help + + ' + template: '${hydra.help.header} + + == Configuration groups == + + Compose your configuration from those groups (group=option) + + + $APP_CONFIG_GROUPS + + + == Config == + + Override anything in the config (foo.bar=value) + + + $CONFIG + + + ${hydra.help.footer} + + ' + hydra_help: + template: 'Hydra (${hydra.runtime.version}) + + See https://hydra.cc for more info. + + + == Flags == + + $FLAGS_HELP + + + == Configuration groups == + + Compose your configuration from those groups (For example, append hydra/job_logging=disabled + to command line) + + + $HYDRA_CONFIG_GROUPS + + + Use ''--cfg hydra'' to Show the Hydra config. + + ' + hydra_help: ??? + hydra_logging: + version: 1 + formatters: + simple: + format: '[%(asctime)s][HYDRA] %(message)s' + handlers: + console: + class: logging.StreamHandler + formatter: simple + stream: ext://sys.stdout + root: + level: INFO + handlers: + - console + loggers: + logging_example: + level: DEBUG + disable_existing_loggers: false + job_logging: + version: 1 + formatters: + simple: + format: '[%(asctime)s][%(name)s][%(levelname)s] - %(message)s' + handlers: + console: + class: logging.StreamHandler + formatter: simple + stream: ext://sys.stdout + file: + class: logging.FileHandler + formatter: simple + filename: ${hydra.runtime.output_dir}/${hydra.job.name}.log + root: + level: INFO + handlers: + - console + - file + disable_existing_loggers: false + env: {} + mode: RUN + searchpath: [] + callbacks: {} + output_subdir: .hydra + overrides: + hydra: + - hydra.mode=RUN + task: + - run_type=release + - host=gin + - device=cuda + - log_to_wandb=false + - multi_gpu=false + - checkpoint=best_val_iou + - country=Switzerland + - eval.split=val + - experiment.name=v4_fusion_bs4x16_mnv64 + job: + name: predict + chdir: null + override_dirname: checkpoint=best_val_iou,country=Switzerland,device=cuda,eval.split=val,experiment.name=v4_fusion_bs4x16_mnv64,host=gin,log_to_wandb=false,multi_gpu=false,run_type=release + id: ??? + num: ??? + config_name: config + env_set: {} + env_copy: [] + config: + override_dirname: + kv_sep: '=' + item_sep: ',' + exclude_keys: [] + runtime: + version: 1.3.2 + version_base: '1.3' + cwd: /run/netsop/u/home-sam/home/rsulzer/remote_python/pixelspointspolygons + config_sources: + - path: hydra.conf + schema: pkg + provider: hydra + - path: /run/netsop/u/home-sam/home/rsulzer/remote_python/pixelspointspolygons/config + schema: file + provider: main + - path: '' + schema: structured + provider: schema + output_dir: /data/rsulzer/ffl_outputs/p3/224/v4_fusion_bs4x16_mnv64 + choices: + experiment: ffl_fusion + model@experiment.model: ffl + encoder@experiment.encoder: early_fusion_vit_cnn + dataset: p3 + polygonization: asm_acm + run_type: release + host: gin + hydra/env: default + hydra/callbacks: null + hydra/job_logging: default + hydra/hydra_logging: default + hydra/hydra_help: default + hydra/help: default + hydra/sweeper: basic + hydra/launcher: basic + hydra/output: default + verbose: false diff --git a/ffl/224/v4_fusion_bs4x16_mnv64/.hydra/overrides.yaml b/ffl/224/v4_fusion_bs4x16_mnv64/.hydra/overrides.yaml new file mode 100644 index 0000000000000000000000000000000000000000..34afdcaedb726cea9055849348e582855a9d31fc --- /dev/null +++ b/ffl/224/v4_fusion_bs4x16_mnv64/.hydra/overrides.yaml @@ -0,0 +1,9 @@ +- run_type=release +- host=gin +- device=cuda +- log_to_wandb=false +- multi_gpu=false +- checkpoint=best_val_iou +- country=Switzerland +- eval.split=val +- experiment.name=v4_fusion_bs4x16_mnv64 diff --git a/ffl/224/v4_fusion_bs4x16_mnv64/checkpoints/best_val_iou.pth b/ffl/224/v4_fusion_bs4x16_mnv64/checkpoints/best_val_iou.pth new file mode 100644 index 0000000000000000000000000000000000000000..a3e2b575f81ad7c18021b66e0f5b1e005d931817 --- /dev/null +++ b/ffl/224/v4_fusion_bs4x16_mnv64/checkpoints/best_val_iou.pth @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3ffea6a07761223142053ed42d40ae2c9fdc8302d3867c718577f54e7b48297d +size 317344380 diff --git a/ffl/224/v4_fusion_bs4x16_mnv64/predictions/best_val_iou.json b/ffl/224/v4_fusion_bs4x16_mnv64/predictions/best_val_iou.json new file mode 100644 index 0000000000000000000000000000000000000000..8d9f7e30251a42d13671f9fd7f324334d34ead6c --- /dev/null +++ b/ffl/224/v4_fusion_bs4x16_mnv64/predictions/best_val_iou.json @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:410a72172a85a162d239182bffbaf4222d5c6116e8cfbd995b873d6b73673cab +size 338195 diff --git a/ffl/224/v4_fusion_bs4x16_mnv64/predictions_NY_val/acm.tol_1/best_val_iou.json b/ffl/224/v4_fusion_bs4x16_mnv64/predictions_NY_val/acm.tol_1/best_val_iou.json new file mode 100644 index 0000000000000000000000000000000000000000..eb84e4a81f61c9273cbd5c8361a4614be5849643 --- /dev/null +++ b/ffl/224/v4_fusion_bs4x16_mnv64/predictions_NY_val/acm.tol_1/best_val_iou.json @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:70d5453ab505d768623c4ea1d459b0a384f6c754547af60bd0672d4f7dea36c6 +size 912731 diff --git a/ffl/224/v4_fusion_bs4x16_mnv64/predictions_NY_val/best_val_iou.json b/ffl/224/v4_fusion_bs4x16_mnv64/predictions_NY_val/best_val_iou.json new file mode 100644 index 0000000000000000000000000000000000000000..eb84e4a81f61c9273cbd5c8361a4614be5849643 --- /dev/null +++ b/ffl/224/v4_fusion_bs4x16_mnv64/predictions_NY_val/best_val_iou.json @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:70d5453ab505d768623c4ea1d459b0a384f6c754547af60bd0672d4f7dea36c6 +size 912731 diff --git a/ffl/224/v4_fusion_bs4x16_mnv64/predictions_NZ_val/acm.tol_1/best_val_iou.json b/ffl/224/v4_fusion_bs4x16_mnv64/predictions_NZ_val/acm.tol_1/best_val_iou.json new file mode 100644 index 0000000000000000000000000000000000000000..487e9dbaf849a1bae6d584db6117084d065aadc4 --- /dev/null +++ b/ffl/224/v4_fusion_bs4x16_mnv64/predictions_NZ_val/acm.tol_1/best_val_iou.json @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4bb49ece883fbac6c8c44bd3fc8a157c51602f96f357a67b30dd677fc5f638a1 +size 277763 diff --git a/ffl/224/v4_fusion_bs4x16_mnv64/predictions_NZ_val/best_val_iou.json b/ffl/224/v4_fusion_bs4x16_mnv64/predictions_NZ_val/best_val_iou.json new file mode 100644 index 0000000000000000000000000000000000000000..487e9dbaf849a1bae6d584db6117084d065aadc4 --- /dev/null +++ b/ffl/224/v4_fusion_bs4x16_mnv64/predictions_NZ_val/best_val_iou.json @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4bb49ece883fbac6c8c44bd3fc8a157c51602f96f357a67b30dd677fc5f638a1 +size 277763 diff --git a/ffl/224/v4_fusion_bs4x16_mnv64/predictions_Switzerland_test/acm.tol_1/best_val_iou.json b/ffl/224/v4_fusion_bs4x16_mnv64/predictions_Switzerland_test/acm.tol_1/best_val_iou.json new file mode 100644 index 0000000000000000000000000000000000000000..0204d010d631794765d850b076fc23171bc19a97 --- /dev/null +++ b/ffl/224/v4_fusion_bs4x16_mnv64/predictions_Switzerland_test/acm.tol_1/best_val_iou.json @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fe3695563fca8f65313c8ef5973821b817bde41c4214f48a5309021eec16e524 +size 5609134 diff --git a/ffl/224/v4_fusion_bs4x16_mnv64/predictions_Switzerland_test/best_val_iou.json b/ffl/224/v4_fusion_bs4x16_mnv64/predictions_Switzerland_test/best_val_iou.json new file mode 100644 index 0000000000000000000000000000000000000000..0204d010d631794765d850b076fc23171bc19a97 --- /dev/null +++ b/ffl/224/v4_fusion_bs4x16_mnv64/predictions_Switzerland_test/best_val_iou.json @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fe3695563fca8f65313c8ef5973821b817bde41c4214f48a5309021eec16e524 +size 5609134 diff --git a/ffl/224/v4_fusion_bs4x16_mnv64/predictions_Switzerland_val/acm.tol_1/best_val_iou.json b/ffl/224/v4_fusion_bs4x16_mnv64/predictions_Switzerland_val/acm.tol_1/best_val_iou.json new file mode 100644 index 0000000000000000000000000000000000000000..b261147f91aa2e0418fd5559d7e47edb7adb8430 --- /dev/null +++ b/ffl/224/v4_fusion_bs4x16_mnv64/predictions_Switzerland_val/acm.tol_1/best_val_iou.json @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0cf45a8ce4aef758a5ba0f77c58d2329b76d26acae172bcaf3e371d0eaa0203a +size 336497 diff --git a/ffl/224/v4_fusion_bs4x16_mnv64/predictions_Switzerland_val/best_val_iou.json b/ffl/224/v4_fusion_bs4x16_mnv64/predictions_Switzerland_val/best_val_iou.json new file mode 100644 index 0000000000000000000000000000000000000000..b261147f91aa2e0418fd5559d7e47edb7adb8430 --- /dev/null +++ b/ffl/224/v4_fusion_bs4x16_mnv64/predictions_Switzerland_val/best_val_iou.json @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0cf45a8ce4aef758a5ba0f77c58d2329b76d26acae172bcaf3e371d0eaa0203a +size 336497 diff --git a/ffl/224/v4_image_bs4x16/.hydra/config.yaml b/ffl/224/v4_image_bs4x16/.hydra/config.yaml new file mode 100644 index 0000000000000000000000000000000000000000..dd2a09c86135a9823badd0f802331ff581797947 --- /dev/null +++ b/ffl/224/v4_image_bs4x16/.hydra/config.yaml @@ -0,0 +1,256 @@ +host: + name: gin + data_root: /data/rsulzer + update_pbar_every: 1 +run_type: + name: release + batch_size: 16 + train_subset: null + val_subset: null + test_subset: null + logging: INFO + num_workers: 16 + log_to_wandb: true +polygonization: + method: + - acm + common_params: + init_data_level: 0.5 + simple_method: + data_level: 0.5 + tolerance: + - 1.0 + seg_threshold: 0.5 + min_area: 10 + asm_method: + init_method: skeleton + data_level: 0.5 + loss_params: + coefs: + step_thresholds: + - 0 + - 100 + - 200 + - 300 + data: + - 1.0 + - 0.1 + - 0.0 + - 0.0 + crossfield: + - 0.0 + - 0.05 + - 0.0 + - 0.0 + length: + - 0.1 + - 0.01 + - 0.0 + - 0.0 + curvature: + - 0.0 + - 0.0 + - 1.0 + - 0.0 + corner: + - 0.0 + - 0.0 + - 0.5 + - 0.0 + junction: + - 0.0 + - 0.0 + - 0.5 + - 0.0 + curvature_dissimilarity_threshold: 2 + corner_angles: + - 45 + - 90 + - 135 + corner_angle_threshold: 22.5 + junction_angles: + - 0 + - 45 + - 90 + - 135 + junction_angle_weights: + - 1 + - 0.01 + - 0.1 + - 0.01 + junction_angle_threshold: 22.5 + lr: 0.1 + gamma: 0.995 + device: cuda + tolerance: + - 1 + seg_threshold: 0.5 + min_area: 10 + acm_method: + steps: 500 + data_level: 0.5 + data_coef: 0.1 + length_coef: 0.4 + crossfield_coef: 0.5 + poly_lr: 0.01 + warmup_iters: 100 + warmup_factor: 0.1 + device: cuda + tolerance: + - 1 + seg_threshold: 0.5 + min_area: 10 +dataset: + name: p3 + size: ${..experiment.encoder.in_size} + path: ${host.data_root}/PixelsPointsPolygons/data/${.size} + annotations: + train: ${..path}/annotations_${...country}_train.json + val: ${..path}/annotations_${...country}_val.json + test: ${..path}/annotations_${...country}_test.json + ffl_stats: + train: ${..path}/ffl/train/stats-${...country}.pt + val: ${..path}/ffl/val/stats-${...country}.pt + test: ${..path}/ffl/test/stats-${...country}.pt + train_subset: ${..run_type.train_subset} + val_subset: ${..run_type.val_subset} + test_subset: ${..run_type.test_subset} +experiment: + encoder: + name: early_fusion_vit_cnn + use_images: true + use_lidar: true + in_size: 224 + in_height: ${.in_size} + in_width: ${.in_size} + in_voxel_size: + x: 8 + 'y': 8 + z: 100 + max_num_points_per_voxel: 64 + max_num_voxels: + train: 784 + test: 784 + out_feature_size: ${..model.decoder.in_feature_size} + out_feature_height: ${.out_feature_size} + out_feature_width: ${.out_feature_size} + out_feature_dim: ${..model.decoder.in_feature_dim} + vit: + type: vit_small_patch${..patch_size}_${..in_size}.dino + checkpoint_file: ${....host.data_root}/checkpoints/backbones/dino_deitsmall8_pretrain.pth + pretrained: true + patch_size: 8 + patch_feature_size: 28 + patch_feature_height: ${.patch_feature_size} + patch_feature_width: ${.patch_feature_size} + patch_feature_dim: 384 + image_mean: + - 0.0 + - 0.0 + - 0.0 + image_std: + - 1.0 + - 1.0 + - 1.0 + image_max_pixel_value: 255.0 + augmentations: + - D4 + - ColorJitter + - GaussNoise + - Normalize + max_points_per_voxel: 64 + model: + name: ffl + compute_seg: true + compute_crossfield: true + seg: + compute_interior: true + compute_edge: false + compute_vertex: false + decoder: + in_feature_size: ${...encoder.in_size} + in_feature_width: ${.in_feature_size} + in_feature_height: ${.in_feature_size} + in_feature_dim: ${if:${eq:${.in_feature_size},512}, 32, 256} + point_pillars: + out_channels: + - ${...decoder.in_feature_dim} + - ${...decoder.in_feature_dim} + - ${...decoder.in_feature_dim}] + upsample_strides: + - 4 + - 8 + - 16 + loss: + multi: + epoch_thresholds: + - 0 + - 5 + - 10 + weights: + seg: 1 + crossfield_align: 1 + crossfield_align90: 0.5 + crossfield_smooth: 0.005 + seg_interior_crossfield: + - 0 + - 0 + - 0.2 + seg_edge_crossfield: + - 0 + - 0 + - 0.2 + seg_edge_interior: + - 0 + - 0 + - 0.2 + seg: + bce_coef: 1.0 + dice_coef: 0.2 + use_freq: false + use_dist: false + use_size: false + w0: 50 + sigma: 10 + type: bool + batch_size: ${...run_type.batch_size} + start_epoch: 0 + num_epochs: 200 + milestone: 0 + learning_rate: 0.0001 + weight_decay: 0.0 + gamma: 0.95 + eval: + patch_size: null + patch_overlap: 200 + seg_threshold: 0.5 + name: v4_image_bs4x16 + group_name: v2_${.model.name} +output_dir: ${.host.data_root}/${.experiment.model.name}_outputs/${.dataset.name}/${.experiment.encoder.in_size}/${.experiment.name} +checkpoint: best_val_iou +checkpoint_file: null +save_best: true +save_latest: true +save_every: 10 +val_every: 1 +best_val_loss: 10000000.0 +best_val_iou: 0.0 +multi_gpu: false +device: cuda +log_to_wandb: false +num_workers: ${.run_type.num_workers} +update_pbar_every: ${.host.update_pbar_every} +country: Switzerland +use_lidar: ${.experiment.encoder.use_lidar} +use_images: ${.experiment.encoder.use_images} +eval: + split: val + pred_file: ${..output_dir}/predictions_${..country}_${.split}/${..checkpoint}.json + modes: + - ldof + - coco + - iou + - polis + - mta + eval_file: results/metrics + ldof_exe: /user/rsulzer/home/cpp/line-DOF-metric/build/calculate_DoF diff --git a/ffl/224/v4_image_bs4x16/.hydra/hydra.yaml b/ffl/224/v4_image_bs4x16/.hydra/hydra.yaml new file mode 100644 index 0000000000000000000000000000000000000000..ac1276b720374e585b5e64e85fec19929d2ee6e2 --- /dev/null +++ b/ffl/224/v4_image_bs4x16/.hydra/hydra.yaml @@ -0,0 +1,170 @@ +hydra: + run: + dir: ${...output_dir} + sweep: + dir: multirun/${now:%Y-%m-%d}/${now:%H-%M-%S} + subdir: ${hydra.job.num} + launcher: + _target_: hydra._internal.core_plugins.basic_launcher.BasicLauncher + sweeper: + _target_: hydra._internal.core_plugins.basic_sweeper.BasicSweeper + max_batch_size: null + params: null + help: + app_name: ${hydra.job.name} + header: '${hydra.help.app_name} is powered by Hydra. + + ' + footer: 'Powered by Hydra (https://hydra.cc) + + Use --hydra-help to view Hydra specific help + + ' + template: '${hydra.help.header} + + == Configuration groups == + + Compose your configuration from those groups (group=option) + + + $APP_CONFIG_GROUPS + + + == Config == + + Override anything in the config (foo.bar=value) + + + $CONFIG + + + ${hydra.help.footer} + + ' + hydra_help: + template: 'Hydra (${hydra.runtime.version}) + + See https://hydra.cc for more info. + + + == Flags == + + $FLAGS_HELP + + + == Configuration groups == + + Compose your configuration from those groups (For example, append hydra/job_logging=disabled + to command line) + + + $HYDRA_CONFIG_GROUPS + + + Use ''--cfg hydra'' to Show the Hydra config. + + ' + hydra_help: ??? + hydra_logging: + version: 1 + formatters: + simple: + format: '[%(asctime)s][HYDRA] %(message)s' + handlers: + console: + class: logging.StreamHandler + formatter: simple + stream: ext://sys.stdout + root: + level: INFO + handlers: + - console + loggers: + logging_example: + level: DEBUG + disable_existing_loggers: false + job_logging: + version: 1 + formatters: + simple: + format: '[%(asctime)s][%(name)s][%(levelname)s] - %(message)s' + handlers: + console: + class: logging.StreamHandler + formatter: simple + stream: ext://sys.stdout + file: + class: logging.FileHandler + formatter: simple + filename: ${hydra.runtime.output_dir}/${hydra.job.name}.log + root: + level: INFO + handlers: + - console + - file + disable_existing_loggers: false + env: {} + mode: RUN + searchpath: [] + callbacks: {} + output_subdir: .hydra + overrides: + hydra: + - hydra.mode=RUN + task: + - run_type=release + - host=gin + - device=cuda + - log_to_wandb=false + - multi_gpu=false + - checkpoint=best_val_iou + - country=Switzerland + - eval.split=val + - experiment.name=v4_image_bs4x16 + job: + name: predict + chdir: null + override_dirname: checkpoint=best_val_iou,country=Switzerland,device=cuda,eval.split=val,experiment.name=v4_image_bs4x16,host=gin,log_to_wandb=false,multi_gpu=false,run_type=release + id: ??? + num: ??? + config_name: config + env_set: {} + env_copy: [] + config: + override_dirname: + kv_sep: '=' + item_sep: ',' + exclude_keys: [] + runtime: + version: 1.3.2 + version_base: '1.3' + cwd: /run/netsop/u/home-sam/home/rsulzer/remote_python/pixelspointspolygons + config_sources: + - path: hydra.conf + schema: pkg + provider: hydra + - path: /run/netsop/u/home-sam/home/rsulzer/remote_python/pixelspointspolygons/config + schema: file + provider: main + - path: '' + schema: structured + provider: schema + output_dir: /data/rsulzer/ffl_outputs/p3/224/v4_image_bs4x16 + choices: + experiment: ffl_fusion + model@experiment.model: ffl + encoder@experiment.encoder: early_fusion_vit_cnn + dataset: p3 + polygonization: asm_acm + run_type: release + host: gin + hydra/env: default + hydra/callbacks: null + hydra/job_logging: default + hydra/hydra_logging: default + hydra/hydra_help: default + hydra/help: default + hydra/sweeper: basic + hydra/launcher: basic + hydra/output: default + verbose: false diff --git a/ffl/224/v4_image_bs4x16/.hydra/overrides.yaml b/ffl/224/v4_image_bs4x16/.hydra/overrides.yaml new file mode 100644 index 0000000000000000000000000000000000000000..db7a124e0d96ad0a9652a7bae496e66afcc92186 --- /dev/null +++ b/ffl/224/v4_image_bs4x16/.hydra/overrides.yaml @@ -0,0 +1,9 @@ +- run_type=release +- host=gin +- device=cuda +- log_to_wandb=false +- multi_gpu=false +- checkpoint=best_val_iou +- country=Switzerland +- eval.split=val +- experiment.name=v4_image_bs4x16 diff --git a/ffl/224/v4_image_bs4x16/checkpoints/best_val_iou.pth b/ffl/224/v4_image_bs4x16/checkpoints/best_val_iou.pth new file mode 100644 index 0000000000000000000000000000000000000000..79cb9e22768ff0c43567ddb2d4fc46a4b9e8ab10 --- /dev/null +++ b/ffl/224/v4_image_bs4x16/checkpoints/best_val_iou.pth @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:24cf1aed431f8f13df9edd00f97378fd0fe783333ce86fb6bf9fb63b61a129fa +size 285147689 diff --git a/ffl/224/v4_image_bs4x16/predictions/best_val_iou.json b/ffl/224/v4_image_bs4x16/predictions/best_val_iou.json new file mode 100644 index 0000000000000000000000000000000000000000..bc44e26787bb85c0cb29bc8cf891795a56d45088 --- /dev/null +++ b/ffl/224/v4_image_bs4x16/predictions/best_val_iou.json @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6d1414fe72e203cdff9e623c98b6c45ce4ae9a41e1bd77fea789bd1b10492b6a +size 385431 diff --git a/ffl/224/v4_image_bs4x16/predictions_Switzerland_test/acm.tol_1/best_val_iou.json b/ffl/224/v4_image_bs4x16/predictions_Switzerland_test/acm.tol_1/best_val_iou.json new file mode 100644 index 0000000000000000000000000000000000000000..0e8164590e24bd77e753d11646f4ffd6fea5e75a --- /dev/null +++ b/ffl/224/v4_image_bs4x16/predictions_Switzerland_test/acm.tol_1/best_val_iou.json @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f725e9514c9025f9abbcb1c147cbe33cd3e1c5bbd2402a002069d5a64935b60d +size 5832832 diff --git a/ffl/224/v4_image_bs4x16/predictions_Switzerland_test/best_val_iou.json b/ffl/224/v4_image_bs4x16/predictions_Switzerland_test/best_val_iou.json new file mode 100644 index 0000000000000000000000000000000000000000..0e8164590e24bd77e753d11646f4ffd6fea5e75a --- /dev/null +++ b/ffl/224/v4_image_bs4x16/predictions_Switzerland_test/best_val_iou.json @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f725e9514c9025f9abbcb1c147cbe33cd3e1c5bbd2402a002069d5a64935b60d +size 5832832 diff --git a/ffl/224/v4_image_bs4x16/predictions_Switzerland_val/acm.tol_1/best_val_iou.json b/ffl/224/v4_image_bs4x16/predictions_Switzerland_val/acm.tol_1/best_val_iou.json new file mode 100644 index 0000000000000000000000000000000000000000..f9859fb4ba7968ab1ae71d8d896684b48f4b2803 --- /dev/null +++ b/ffl/224/v4_image_bs4x16/predictions_Switzerland_val/acm.tol_1/best_val_iou.json @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4d5a991f227061952c4f518ab0d518fc21ab61917ce0f55c1ddc3cdc67d28e68 +size 383243 diff --git a/ffl/224/v4_image_bs4x16/predictions_Switzerland_val/best_val_iou.json b/ffl/224/v4_image_bs4x16/predictions_Switzerland_val/best_val_iou.json new file mode 100644 index 0000000000000000000000000000000000000000..f9859fb4ba7968ab1ae71d8d896684b48f4b2803 --- /dev/null +++ b/ffl/224/v4_image_bs4x16/predictions_Switzerland_val/best_val_iou.json @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4d5a991f227061952c4f518ab0d518fc21ab61917ce0f55c1ddc3cdc67d28e68 +size 383243 diff --git a/ffl/224/v5_lidar_bs2x16_mnv128/.hydra/config.yaml b/ffl/224/v5_lidar_bs2x16_mnv128/.hydra/config.yaml new file mode 100644 index 0000000000000000000000000000000000000000..f647e1e9ce1099ef649c9bd9e751693a49f4ef64 --- /dev/null +++ b/ffl/224/v5_lidar_bs2x16_mnv128/.hydra/config.yaml @@ -0,0 +1,236 @@ +host: + name: g5k + data_root: /home/rsulzer/data + update_pbar_every: 60 +run_type: + name: release + batch_size: 16 + train_subset: null + val_subset: null + test_subset: null + logging: INFO + num_workers: 16 + log_to_wandb: true +polygonization: + method: + - acm + common_params: + init_data_level: 0.5 + simple_method: + data_level: 0.5 + tolerance: + - 1.0 + seg_threshold: 0.5 + min_area: 10 + asm_method: + init_method: skeleton + data_level: 0.5 + loss_params: + coefs: + step_thresholds: + - 0 + - 100 + - 200 + - 300 + data: + - 1.0 + - 0.1 + - 0.0 + - 0.0 + crossfield: + - 0.0 + - 0.05 + - 0.0 + - 0.0 + length: + - 0.1 + - 0.01 + - 0.0 + - 0.0 + curvature: + - 0.0 + - 0.0 + - 1.0 + - 0.0 + corner: + - 0.0 + - 0.0 + - 0.5 + - 0.0 + junction: + - 0.0 + - 0.0 + - 0.5 + - 0.0 + curvature_dissimilarity_threshold: 2 + corner_angles: + - 45 + - 90 + - 135 + corner_angle_threshold: 22.5 + junction_angles: + - 0 + - 45 + - 90 + - 135 + junction_angle_weights: + - 1 + - 0.01 + - 0.1 + - 0.01 + junction_angle_threshold: 22.5 + lr: 0.1 + gamma: 0.995 + device: cuda + tolerance: + - 1 + seg_threshold: 0.5 + min_area: 10 + acm_method: + steps: 500 + data_level: 0.5 + data_coef: 0.1 + length_coef: 0.4 + crossfield_coef: 0.5 + poly_lr: 0.01 + warmup_iters: 100 + warmup_factor: 0.1 + device: cuda + tolerance: + - 1 + seg_threshold: 0.5 + min_area: 10 +dataset: + name: lidarpoly + size: ${..experiment.encoder.in_size} + path: ${host.data_root}/${.name}/${.size} + annotations: + train: ${..path}/annotations_${...country}_train.json + val: ${..path}/annotations_${...country}_val.json + test: ${..path}/annotations_${...country}_test.json + train_subset: ${..run_type.train_subset} + val_subset: ${..run_type.val_subset} + test_subset: ${..run_type.test_subset} + augmentations: + - D4 +experiment: + encoder: + name: pointpillars_vit_cnn + use_images: false + use_lidar: true + in_size: 224 + in_height: ${.in_size} + in_width: ${.in_size} + in_voxel_size: + x: 8 + 'y': 8 + z: 100 + max_num_points_per_voxel: 128 + max_num_voxels: + train: 784 + test: 784 + out_feature_size: ${..model.decoder.in_feature_size} + out_feature_height: ${.out_feature_size} + out_feature_width: ${.out_feature_size} + out_feature_dim: ${..model.decoder.in_feature_dim} + vit: + type: vit_small_patch${..patch_size}_${..in_size}.dino + checkpoint_file: ${....host.data_root}/checkpoints/backbones/dino_deitsmall8_pretrain.pth + pretrained: true + patch_size: 8 + patch_feature_size: 28 + patch_feature_height: ${.patch_feature_size} + patch_feature_width: ${.patch_feature_size} + patch_feature_dim: 384 + augmentations: + - D4 + model: + name: ffl + compute_seg: true + compute_crossfield: true + seg: + compute_interior: true + compute_edge: false + compute_vertex: false + decoder: + in_feature_size: ${...encoder.in_size} + in_feature_width: ${.in_feature_size} + in_feature_height: ${.in_feature_size} + in_feature_dim: ${if:${eq:${.in_feature_size},512}, 32, 256} + point_pillars: + out_channels: + - ${...decoder.in_feature_dim} + - ${...decoder.in_feature_dim} + - ${...decoder.in_feature_dim}] + upsample_strides: + - 4 + - 8 + - 16 + loss: + multi: + epoch_thresholds: + - 0 + - 5 + - 10 + weights: + seg: 1 + crossfield_align: 1 + crossfield_align90: 0.5 + crossfield_smooth: 0.005 + seg_interior_crossfield: + - 0 + - 0 + - 0.2 + seg_edge_crossfield: + - 0 + - 0 + - 0.2 + seg_edge_interior: + - 0 + - 0 + - 0.2 + seg: + bce_coef: 1.0 + dice_coef: 0.2 + use_freq: false + use_dist: false + use_size: false + w0: 50 + sigma: 10 + type: bool + batch_size: ${...run_type.batch_size} + start_epoch: 0 + num_epochs: 200 + milestone: 0 + learning_rate: 0.0001 + weight_decay: 0.0 + gamma: 0.95 + eval: + patch_size: null + patch_overlap: 200 + seg_threshold: 0.5 + name: v5_lidar_bs2x16_mnv128 + group_name: v2_${.model.name} +output_dir: ${.host.data_root}/${.experiment.model.name}_outputs/${.dataset.name}/${.experiment.encoder.in_size}/${.experiment.name} +checkpoint: null +checkpoint_file: null +save_best: true +save_latest: true +save_every: 10 +val_every: 1 +best_val_loss: 10000000.0 +best_val_iou: 0.0 +multi_gpu: true +device: cuda +log_to_wandb: true +num_workers: ${.run_type.num_workers} +update_pbar_every: ${.host.update_pbar_every} +country: Switzerland +use_lidar: ${.experiment.encoder.use_lidar} +use_images: ${.experiment.encoder.use_images} +eval: + split: val + pred_file: ${..output_dir}/predictions/${..checkpoint}.json + modes: + - iou + eval_file: results/metrics diff --git a/ffl/224/v5_lidar_bs2x16_mnv128/.hydra/hydra.yaml b/ffl/224/v5_lidar_bs2x16_mnv128/.hydra/hydra.yaml new file mode 100644 index 0000000000000000000000000000000000000000..a40456b3ca627833b22eff92f7ba82e581073cb3 --- /dev/null +++ b/ffl/224/v5_lidar_bs2x16_mnv128/.hydra/hydra.yaml @@ -0,0 +1,167 @@ +hydra: + run: + dir: ${...output_dir} + sweep: + dir: multirun/${now:%Y-%m-%d}/${now:%H-%M-%S} + subdir: ${hydra.job.num} + launcher: + _target_: hydra._internal.core_plugins.basic_launcher.BasicLauncher + sweeper: + _target_: hydra._internal.core_plugins.basic_sweeper.BasicSweeper + max_batch_size: null + params: null + help: + app_name: ${hydra.job.name} + header: '${hydra.help.app_name} is powered by Hydra. + + ' + footer: 'Powered by Hydra (https://hydra.cc) + + Use --hydra-help to view Hydra specific help + + ' + template: '${hydra.help.header} + + == Configuration groups == + + Compose your configuration from those groups (group=option) + + + $APP_CONFIG_GROUPS + + + == Config == + + Override anything in the config (foo.bar=value) + + + $CONFIG + + + ${hydra.help.footer} + + ' + hydra_help: + template: 'Hydra (${hydra.runtime.version}) + + See https://hydra.cc for more info. + + + == Flags == + + $FLAGS_HELP + + + == Configuration groups == + + Compose your configuration from those groups (For example, append hydra/job_logging=disabled + to command line) + + + $HYDRA_CONFIG_GROUPS + + + Use ''--cfg hydra'' to Show the Hydra config. + + ' + hydra_help: ??? + hydra_logging: + version: 1 + formatters: + simple: + format: '[%(asctime)s][HYDRA] %(message)s' + handlers: + console: + class: logging.StreamHandler + formatter: simple + stream: ext://sys.stdout + root: + level: INFO + handlers: + - console + loggers: + logging_example: + level: DEBUG + disable_existing_loggers: false + job_logging: + version: 1 + formatters: + simple: + format: '[%(asctime)s][%(name)s][%(levelname)s] - %(message)s' + handlers: + console: + class: logging.StreamHandler + formatter: simple + stream: ext://sys.stdout + file: + class: logging.FileHandler + formatter: simple + filename: ${hydra.runtime.output_dir}/${hydra.job.name}.log + root: + level: INFO + handlers: + - console + - file + disable_existing_loggers: false + env: {} + mode: RUN + searchpath: [] + callbacks: {} + output_subdir: .hydra + overrides: + hydra: + - hydra.mode=RUN + task: + - log_to_wandb=true + - host=g5k + - run_type=release + - multi_gpu=true + - checkpoint=null + - experiment=lidar_density_ablation128 + job: + name: train + chdir: null + override_dirname: checkpoint=null,experiment=lidar_density_ablation128,host=g5k,log_to_wandb=true,multi_gpu=true,run_type=release + id: ??? + num: ??? + config_name: config + env_set: {} + env_copy: [] + config: + override_dirname: + kv_sep: '=' + item_sep: ',' + exclude_keys: [] + runtime: + version: 1.3.2 + version_base: '1.3' + cwd: /home/rsulzer/python/PixelsPointsPolygons + config_sources: + - path: hydra.conf + schema: pkg + provider: hydra + - path: /home/rsulzer/python/PixelsPointsPolygons/config + schema: file + provider: main + - path: '' + schema: structured + provider: schema + output_dir: /home/rsulzer/data/ffl_outputs/lidarpoly/224/v5_lidar_bs2x16_mnv128 + choices: + experiment: lidar_density_ablation128 + model@experiment.model: ffl + encoder@experiment.encoder: pointpillars_vit_cnn + dataset: lidarpoly + polygonization: asm_acm + run_type: release + host: g5k + hydra/env: default + hydra/callbacks: null + hydra/job_logging: default + hydra/hydra_logging: default + hydra/hydra_help: default + hydra/help: default + hydra/sweeper: basic + hydra/launcher: basic + hydra/output: default + verbose: false diff --git a/ffl/224/v5_lidar_bs2x16_mnv128/.hydra/overrides.yaml b/ffl/224/v5_lidar_bs2x16_mnv128/.hydra/overrides.yaml new file mode 100644 index 0000000000000000000000000000000000000000..3ab3284853cbc03f41694656ee3c70b05e1df3bf --- /dev/null +++ b/ffl/224/v5_lidar_bs2x16_mnv128/.hydra/overrides.yaml @@ -0,0 +1,6 @@ +- log_to_wandb=true +- host=g5k +- run_type=release +- multi_gpu=true +- checkpoint=null +- experiment=lidar_density_ablation128 diff --git a/ffl/224/v5_lidar_bs2x16_mnv128/checkpoints/best_val_iou.pth b/ffl/224/v5_lidar_bs2x16_mnv128/checkpoints/best_val_iou.pth new file mode 100644 index 0000000000000000000000000000000000000000..5e16b04f1b45b0256c6340dcdbc7392ae52fc6f0 --- /dev/null +++ b/ffl/224/v5_lidar_bs2x16_mnv128/checkpoints/best_val_iou.pth @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:eac23a8870aa4de5b1a7a635fd1fcb74b13c88ffb56738a1fd2a7d84428c54dd +size 284579947 diff --git a/ffl/224/v5_lidar_bs2x16_mnv128/predictions/best_val_iou.json b/ffl/224/v5_lidar_bs2x16_mnv128/predictions/best_val_iou.json new file mode 100644 index 0000000000000000000000000000000000000000..95fc3589405c2d892679a49cf75c9a5267861f93 --- /dev/null +++ b/ffl/224/v5_lidar_bs2x16_mnv128/predictions/best_val_iou.json @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f60fdf7ddacf15b38ac002b7294f306c1a589bb6a145163d0b041358a5fad517 +size 432778 diff --git a/ffl/224/v5_lidar_bs2x16_mnv128/predictions_Switzerland_test/acm.tol_1/best_val_iou.json b/ffl/224/v5_lidar_bs2x16_mnv128/predictions_Switzerland_test/acm.tol_1/best_val_iou.json new file mode 100644 index 0000000000000000000000000000000000000000..996bcc2af029b3d0c7208b5090ebba8000bc4fc1 --- /dev/null +++ b/ffl/224/v5_lidar_bs2x16_mnv128/predictions_Switzerland_test/acm.tol_1/best_val_iou.json @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:050c7fb16c3a8a96def36b00256d70a428a4ea118e4dfce997e34ae76fc516bb +size 5998847 diff --git a/ffl/224/v5_lidar_bs2x16_mnv128/predictions_Switzerland_test/best_val_iou.json b/ffl/224/v5_lidar_bs2x16_mnv128/predictions_Switzerland_test/best_val_iou.json new file mode 100644 index 0000000000000000000000000000000000000000..996bcc2af029b3d0c7208b5090ebba8000bc4fc1 --- /dev/null +++ b/ffl/224/v5_lidar_bs2x16_mnv128/predictions_Switzerland_test/best_val_iou.json @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:050c7fb16c3a8a96def36b00256d70a428a4ea118e4dfce997e34ae76fc516bb +size 5998847 diff --git a/ffl/224/v5_lidar_bs2x16_mnv16/.hydra/config.yaml b/ffl/224/v5_lidar_bs2x16_mnv16/.hydra/config.yaml new file mode 100644 index 0000000000000000000000000000000000000000..a67bd0933725a75ff6a8c3e3bb21f2348b6fbd7a --- /dev/null +++ b/ffl/224/v5_lidar_bs2x16_mnv16/.hydra/config.yaml @@ -0,0 +1,236 @@ +host: + name: g5k + data_root: /home/rsulzer/data + update_pbar_every: 60 +run_type: + name: release + batch_size: 16 + train_subset: null + val_subset: null + test_subset: null + logging: INFO + num_workers: 16 + log_to_wandb: true +polygonization: + method: + - acm + common_params: + init_data_level: 0.5 + simple_method: + data_level: 0.5 + tolerance: + - 1.0 + seg_threshold: 0.5 + min_area: 10 + asm_method: + init_method: skeleton + data_level: 0.5 + loss_params: + coefs: + step_thresholds: + - 0 + - 100 + - 200 + - 300 + data: + - 1.0 + - 0.1 + - 0.0 + - 0.0 + crossfield: + - 0.0 + - 0.05 + - 0.0 + - 0.0 + length: + - 0.1 + - 0.01 + - 0.0 + - 0.0 + curvature: + - 0.0 + - 0.0 + - 1.0 + - 0.0 + corner: + - 0.0 + - 0.0 + - 0.5 + - 0.0 + junction: + - 0.0 + - 0.0 + - 0.5 + - 0.0 + curvature_dissimilarity_threshold: 2 + corner_angles: + - 45 + - 90 + - 135 + corner_angle_threshold: 22.5 + junction_angles: + - 0 + - 45 + - 90 + - 135 + junction_angle_weights: + - 1 + - 0.01 + - 0.1 + - 0.01 + junction_angle_threshold: 22.5 + lr: 0.1 + gamma: 0.995 + device: cuda + tolerance: + - 1 + seg_threshold: 0.5 + min_area: 10 + acm_method: + steps: 500 + data_level: 0.5 + data_coef: 0.1 + length_coef: 0.4 + crossfield_coef: 0.5 + poly_lr: 0.01 + warmup_iters: 100 + warmup_factor: 0.1 + device: cuda + tolerance: + - 1 + seg_threshold: 0.5 + min_area: 10 +dataset: + name: lidarpoly + size: ${..experiment.encoder.in_size} + path: ${host.data_root}/${.name}/${.size} + annotations: + train: ${..path}/annotations_${...country}_train.json + val: ${..path}/annotations_${...country}_val.json + test: ${..path}/annotations_${...country}_test.json + train_subset: ${..run_type.train_subset} + val_subset: ${..run_type.val_subset} + test_subset: ${..run_type.test_subset} + augmentations: + - D4 +experiment: + encoder: + name: pointpillars_vit_cnn + use_images: false + use_lidar: true + in_size: 224 + in_height: ${.in_size} + in_width: ${.in_size} + in_voxel_size: + x: 8 + 'y': 8 + z: 100 + max_num_points_per_voxel: 16 + max_num_voxels: + train: 784 + test: 784 + out_feature_size: ${..model.decoder.in_feature_size} + out_feature_height: ${.out_feature_size} + out_feature_width: ${.out_feature_size} + out_feature_dim: ${..model.decoder.in_feature_dim} + vit: + type: vit_small_patch${..patch_size}_${..in_size}.dino + checkpoint_file: ${....host.data_root}/checkpoints/backbones/dino_deitsmall8_pretrain.pth + pretrained: true + patch_size: 8 + patch_feature_size: 28 + patch_feature_height: ${.patch_feature_size} + patch_feature_width: ${.patch_feature_size} + patch_feature_dim: 384 + augmentations: + - D4 + model: + name: ffl + compute_seg: true + compute_crossfield: true + seg: + compute_interior: true + compute_edge: false + compute_vertex: false + decoder: + in_feature_size: ${...encoder.in_size} + in_feature_width: ${.in_feature_size} + in_feature_height: ${.in_feature_size} + in_feature_dim: ${if:${eq:${.in_feature_size},512}, 32, 256} + point_pillars: + out_channels: + - ${...decoder.in_feature_dim} + - ${...decoder.in_feature_dim} + - ${...decoder.in_feature_dim}] + upsample_strides: + - 4 + - 8 + - 16 + loss: + multi: + epoch_thresholds: + - 0 + - 5 + - 10 + weights: + seg: 1 + crossfield_align: 1 + crossfield_align90: 0.5 + crossfield_smooth: 0.005 + seg_interior_crossfield: + - 0 + - 0 + - 0.2 + seg_edge_crossfield: + - 0 + - 0 + - 0.2 + seg_edge_interior: + - 0 + - 0 + - 0.2 + seg: + bce_coef: 1.0 + dice_coef: 0.2 + use_freq: false + use_dist: false + use_size: false + w0: 50 + sigma: 10 + type: bool + batch_size: ${...run_type.batch_size} + start_epoch: 0 + num_epochs: 200 + milestone: 0 + learning_rate: 0.0001 + weight_decay: 0.0 + gamma: 0.95 + eval: + patch_size: null + patch_overlap: 200 + seg_threshold: 0.5 + name: v5_lidar_bs2x16_mnv16 + group_name: v2_${.model.name} +output_dir: ${.host.data_root}/${.experiment.model.name}_outputs/${.dataset.name}/${.experiment.encoder.in_size}/${.experiment.name} +checkpoint: null +checkpoint_file: null +save_best: true +save_latest: true +save_every: 10 +val_every: 1 +best_val_loss: 10000000.0 +best_val_iou: 0.0 +multi_gpu: true +device: cuda +log_to_wandb: true +num_workers: ${.run_type.num_workers} +update_pbar_every: ${.host.update_pbar_every} +country: Switzerland +use_lidar: ${.experiment.encoder.use_lidar} +use_images: ${.experiment.encoder.use_images} +eval: + split: val + pred_file: ${..output_dir}/predictions/${..checkpoint}.json + modes: + - iou + eval_file: results/metrics diff --git a/ffl/224/v5_lidar_bs2x16_mnv16/.hydra/hydra.yaml b/ffl/224/v5_lidar_bs2x16_mnv16/.hydra/hydra.yaml new file mode 100644 index 0000000000000000000000000000000000000000..3fdd4c4aa68d2d09e7d1c14f45cb8e16b98c6725 --- /dev/null +++ b/ffl/224/v5_lidar_bs2x16_mnv16/.hydra/hydra.yaml @@ -0,0 +1,167 @@ +hydra: + run: + dir: ${...output_dir} + sweep: + dir: multirun/${now:%Y-%m-%d}/${now:%H-%M-%S} + subdir: ${hydra.job.num} + launcher: + _target_: hydra._internal.core_plugins.basic_launcher.BasicLauncher + sweeper: + _target_: hydra._internal.core_plugins.basic_sweeper.BasicSweeper + max_batch_size: null + params: null + help: + app_name: ${hydra.job.name} + header: '${hydra.help.app_name} is powered by Hydra. + + ' + footer: 'Powered by Hydra (https://hydra.cc) + + Use --hydra-help to view Hydra specific help + + ' + template: '${hydra.help.header} + + == Configuration groups == + + Compose your configuration from those groups (group=option) + + + $APP_CONFIG_GROUPS + + + == Config == + + Override anything in the config (foo.bar=value) + + + $CONFIG + + + ${hydra.help.footer} + + ' + hydra_help: + template: 'Hydra (${hydra.runtime.version}) + + See https://hydra.cc for more info. + + + == Flags == + + $FLAGS_HELP + + + == Configuration groups == + + Compose your configuration from those groups (For example, append hydra/job_logging=disabled + to command line) + + + $HYDRA_CONFIG_GROUPS + + + Use ''--cfg hydra'' to Show the Hydra config. + + ' + hydra_help: ??? + hydra_logging: + version: 1 + formatters: + simple: + format: '[%(asctime)s][HYDRA] %(message)s' + handlers: + console: + class: logging.StreamHandler + formatter: simple + stream: ext://sys.stdout + root: + level: INFO + handlers: + - console + loggers: + logging_example: + level: DEBUG + disable_existing_loggers: false + job_logging: + version: 1 + formatters: + simple: + format: '[%(asctime)s][%(name)s][%(levelname)s] - %(message)s' + handlers: + console: + class: logging.StreamHandler + formatter: simple + stream: ext://sys.stdout + file: + class: logging.FileHandler + formatter: simple + filename: ${hydra.runtime.output_dir}/${hydra.job.name}.log + root: + level: INFO + handlers: + - console + - file + disable_existing_loggers: false + env: {} + mode: RUN + searchpath: [] + callbacks: {} + output_subdir: .hydra + overrides: + hydra: + - hydra.mode=RUN + task: + - log_to_wandb=true + - host=g5k + - run_type=release + - multi_gpu=true + - checkpoint=null + - experiment=lidar_density_ablation16 + job: + name: train + chdir: null + override_dirname: checkpoint=null,experiment=lidar_density_ablation16,host=g5k,log_to_wandb=true,multi_gpu=true,run_type=release + id: ??? + num: ??? + config_name: config + env_set: {} + env_copy: [] + config: + override_dirname: + kv_sep: '=' + item_sep: ',' + exclude_keys: [] + runtime: + version: 1.3.2 + version_base: '1.3' + cwd: /home/rsulzer/python/PixelsPointsPolygons + config_sources: + - path: hydra.conf + schema: pkg + provider: hydra + - path: /home/rsulzer/python/PixelsPointsPolygons/config + schema: file + provider: main + - path: '' + schema: structured + provider: schema + output_dir: /home/rsulzer/data/ffl_outputs/lidarpoly/224/v5_lidar_bs2x16_mnv16 + choices: + experiment: lidar_density_ablation16 + model@experiment.model: ffl + encoder@experiment.encoder: pointpillars_vit_cnn + dataset: lidarpoly + polygonization: asm_acm + run_type: release + host: g5k + hydra/env: default + hydra/callbacks: null + hydra/job_logging: default + hydra/hydra_logging: default + hydra/hydra_help: default + hydra/help: default + hydra/sweeper: basic + hydra/launcher: basic + hydra/output: default + verbose: false diff --git a/ffl/224/v5_lidar_bs2x16_mnv16/.hydra/overrides.yaml b/ffl/224/v5_lidar_bs2x16_mnv16/.hydra/overrides.yaml new file mode 100644 index 0000000000000000000000000000000000000000..a77c26b32de27b8c7124bd4ec78b2cfd32fef741 --- /dev/null +++ b/ffl/224/v5_lidar_bs2x16_mnv16/.hydra/overrides.yaml @@ -0,0 +1,6 @@ +- log_to_wandb=true +- host=g5k +- run_type=release +- multi_gpu=true +- checkpoint=null +- experiment=lidar_density_ablation16 diff --git a/ffl/224/v5_lidar_bs2x16_mnv16/checkpoints/best_val_iou.pth b/ffl/224/v5_lidar_bs2x16_mnv16/checkpoints/best_val_iou.pth new file mode 100644 index 0000000000000000000000000000000000000000..5e43b53f31ed609d6e7b32eba0c0766920d0aa2e --- /dev/null +++ b/ffl/224/v5_lidar_bs2x16_mnv16/checkpoints/best_val_iou.pth @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0e5c5823e529e4c93093e42064448cd8de4310a0a240d6bb21f8ac3d9112e456 +size 284579947 diff --git a/ffl/224/v5_lidar_bs2x16_mnv16/predictions/best_val_iou.json b/ffl/224/v5_lidar_bs2x16_mnv16/predictions/best_val_iou.json new file mode 100644 index 0000000000000000000000000000000000000000..044c795f7aa5e764a70afa475247d089eb12eb41 --- /dev/null +++ b/ffl/224/v5_lidar_bs2x16_mnv16/predictions/best_val_iou.json @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0e9c0cbd95e7c5f1e851bf7a14253c521e103f362a9808004c69168bdfb660b4 +size 463706 diff --git a/ffl/224/v5_lidar_bs2x16_mnv16/predictions_Switzerland_test/acm.tol_1/best_val_iou.json b/ffl/224/v5_lidar_bs2x16_mnv16/predictions_Switzerland_test/acm.tol_1/best_val_iou.json new file mode 100644 index 0000000000000000000000000000000000000000..f13cfda762c813ae4be76fb1a2a6ad37f37bfa0f --- /dev/null +++ b/ffl/224/v5_lidar_bs2x16_mnv16/predictions_Switzerland_test/acm.tol_1/best_val_iou.json @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:948ac9b76bdbaf927dd5d64cfa3d50c90ee14cc861de8e2445d38f026afec337 +size 6368233 diff --git a/ffl/224/v5_lidar_bs2x16_mnv16/predictions_Switzerland_test/best_val_iou.json b/ffl/224/v5_lidar_bs2x16_mnv16/predictions_Switzerland_test/best_val_iou.json new file mode 100644 index 0000000000000000000000000000000000000000..f13cfda762c813ae4be76fb1a2a6ad37f37bfa0f --- /dev/null +++ b/ffl/224/v5_lidar_bs2x16_mnv16/predictions_Switzerland_test/best_val_iou.json @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:948ac9b76bdbaf927dd5d64cfa3d50c90ee14cc861de8e2445d38f026afec337 +size 6368233 diff --git a/ffl/224/v5_lidar_bs2x16_mnv16/predictions_Switzerland_val/acm.tol_1/best_val_iou.json b/ffl/224/v5_lidar_bs2x16_mnv16/predictions_Switzerland_val/acm.tol_1/best_val_iou.json new file mode 100644 index 0000000000000000000000000000000000000000..4cdb8fb49e2a6fee5f1c9d57ae1aa84effa3915d --- /dev/null +++ b/ffl/224/v5_lidar_bs2x16_mnv16/predictions_Switzerland_val/acm.tol_1/best_val_iou.json @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:65edd6ddbc80eef94a43432a1686fabe8cf2898e27432d199cbfe1c2df2c04f1 +size 35341 diff --git a/ffl/224/v5_lidar_bs2x16_mnv16/predictions_Switzerland_val/best_val_iou.json b/ffl/224/v5_lidar_bs2x16_mnv16/predictions_Switzerland_val/best_val_iou.json new file mode 100644 index 0000000000000000000000000000000000000000..4cdb8fb49e2a6fee5f1c9d57ae1aa84effa3915d --- /dev/null +++ b/ffl/224/v5_lidar_bs2x16_mnv16/predictions_Switzerland_val/best_val_iou.json @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:65edd6ddbc80eef94a43432a1686fabe8cf2898e27432d199cbfe1c2df2c04f1 +size 35341 diff --git a/ffl/224/v5_lidar_bs2x16_mnv256/.hydra/config.yaml b/ffl/224/v5_lidar_bs2x16_mnv256/.hydra/config.yaml new file mode 100644 index 0000000000000000000000000000000000000000..8739a2da71c5990c8ddae169a22b0b8e4357ba6e --- /dev/null +++ b/ffl/224/v5_lidar_bs2x16_mnv256/.hydra/config.yaml @@ -0,0 +1,244 @@ +host: + name: jeanzay + data_root: /lustre/fswork/projects/rech/cso/uku93eu/data + update_pbar_every: 60 +run_type: + name: release + batch_size: 16 + train_subset: null + val_subset: null + test_subset: null + logging: INFO + num_workers: 16 + log_to_wandb: true +polygonization: + method: + - acm + common_params: + init_data_level: 0.5 + simple_method: + data_level: 0.5 + tolerance: + - 1.0 + seg_threshold: 0.5 + min_area: 10 + asm_method: + init_method: skeleton + data_level: 0.5 + loss_params: + coefs: + step_thresholds: + - 0 + - 100 + - 200 + - 300 + data: + - 1.0 + - 0.1 + - 0.0 + - 0.0 + crossfield: + - 0.0 + - 0.05 + - 0.0 + - 0.0 + length: + - 0.1 + - 0.01 + - 0.0 + - 0.0 + curvature: + - 0.0 + - 0.0 + - 1.0 + - 0.0 + corner: + - 0.0 + - 0.0 + - 0.5 + - 0.0 + junction: + - 0.0 + - 0.0 + - 0.5 + - 0.0 + curvature_dissimilarity_threshold: 2 + corner_angles: + - 45 + - 90 + - 135 + corner_angle_threshold: 22.5 + junction_angles: + - 0 + - 45 + - 90 + - 135 + junction_angle_weights: + - 1 + - 0.01 + - 0.1 + - 0.01 + junction_angle_threshold: 22.5 + lr: 0.1 + gamma: 0.995 + device: cuda + tolerance: + - 1 + seg_threshold: 0.5 + min_area: 10 + acm_method: + steps: 500 + data_level: 0.5 + data_coef: 0.1 + length_coef: 0.4 + crossfield_coef: 0.5 + poly_lr: 0.01 + warmup_iters: 100 + warmup_factor: 0.1 + device: cuda + tolerance: + - 1 + seg_threshold: 0.5 + min_area: 10 +dataset: + name: lidarpoly + size: ${..experiment.encoder.in_size} + path: ${host.data_root}/${.name}/${.size} + annotations: + train: ${..path}/annotations_${...country}_train.json + val: ${..path}/annotations_${...country}_val.json + test: ${..path}/annotations_${...country}_test.json + ffl_stats: + train: ${..path}/ffl/train/stats-${...country}.pt + val: ${..path}/ffl/val/stats-${...country}.pt + test: ${..path}/ffl/test/stats-${...country}.pt + train_subset: ${..run_type.train_subset} + val_subset: ${..run_type.val_subset} + test_subset: ${..run_type.test_subset} +experiment: + encoder: + name: pointpillars_vit_cnn + use_images: false + use_lidar: true + in_size: 224 + in_height: ${.in_size} + in_width: ${.in_size} + in_voxel_size: + x: 8 + 'y': 8 + z: 100 + max_num_points_per_voxel: 256 + max_num_voxels: + train: 784 + test: 784 + out_feature_size: ${..model.decoder.in_feature_size} + out_feature_height: ${.out_feature_size} + out_feature_width: ${.out_feature_size} + out_feature_dim: ${..model.decoder.in_feature_dim} + vit: + type: vit_small_patch${..patch_size}_${..in_size}.dino + checkpoint_file: ${....host.data_root}/checkpoints/backbones/dino_deitsmall8_pretrain.pth + pretrained: true + patch_size: 8 + patch_feature_size: 28 + patch_feature_height: ${.patch_feature_size} + patch_feature_width: ${.patch_feature_size} + patch_feature_dim: 384 + augmentations: + - D4 + model: + name: ffl + compute_seg: true + compute_crossfield: true + seg: + compute_interior: true + compute_edge: false + compute_vertex: false + decoder: + in_feature_size: ${...encoder.in_size} + in_feature_width: ${.in_feature_size} + in_feature_height: ${.in_feature_size} + in_feature_dim: ${if:${eq:${.in_feature_size},512}, 32, 256} + point_pillars: + out_channels: + - ${...decoder.in_feature_dim} + - ${...decoder.in_feature_dim} + - ${...decoder.in_feature_dim}] + upsample_strides: + - 4 + - 8 + - 16 + loss: + multi: + epoch_thresholds: + - 0 + - 5 + - 10 + weights: + seg: 1 + crossfield_align: 1 + crossfield_align90: 0.5 + crossfield_smooth: 0.005 + seg_interior_crossfield: + - 0 + - 0 + - 0.2 + seg_edge_crossfield: + - 0 + - 0 + - 0.2 + seg_edge_interior: + - 0 + - 0 + - 0.2 + seg: + bce_coef: 1.0 + dice_coef: 0.2 + use_freq: false + use_dist: false + use_size: false + w0: 50 + sigma: 10 + type: bool + batch_size: ${...run_type.batch_size} + start_epoch: 0 + num_epochs: 200 + milestone: 0 + learning_rate: 0.0001 + weight_decay: 0.0 + gamma: 0.95 + eval: + patch_size: null + patch_overlap: 200 + seg_threshold: 0.5 + name: v5_lidar_bs2x16_mnv256 + group_name: v2_${.model.name} +output_dir: ${.host.data_root}/${.experiment.model.name}_outputs/${.dataset.name}/${.experiment.encoder.in_size}/${.experiment.name} +checkpoint: best_val_iou +checkpoint_file: null +save_best: true +save_latest: true +save_every: 10 +val_every: 1 +best_val_loss: 10000000.0 +best_val_iou: 0.0 +multi_gpu: false +device: cuda +log_to_wandb: ${.run_type.log_to_wandb} +num_workers: ${.run_type.num_workers} +update_pbar_every: ${.host.update_pbar_every} +country: Switzerland +use_lidar: ${.experiment.encoder.use_lidar} +use_images: ${.experiment.encoder.use_images} +eval: + split: test + pred_file: ${..output_dir}/predictions_${..country}_${.split}/${..checkpoint}.json + modes: + - ldof + - hausdorff + - coco + - iou + - polis + - mta + eval_file: results/metrics + ldof_exe: /user/rsulzer/home/cpp/line-DOF-metric/build/calculate_DoF diff --git a/ffl/224/v5_lidar_bs2x16_mnv256/.hydra/hydra.yaml b/ffl/224/v5_lidar_bs2x16_mnv256/.hydra/hydra.yaml new file mode 100644 index 0000000000000000000000000000000000000000..17c28c76dcf83562f8215b45c0951e2426f6d9fa --- /dev/null +++ b/ffl/224/v5_lidar_bs2x16_mnv256/.hydra/hydra.yaml @@ -0,0 +1,169 @@ +hydra: + run: + dir: ${...output_dir} + sweep: + dir: multirun/${now:%Y-%m-%d}/${now:%H-%M-%S} + subdir: ${hydra.job.num} + launcher: + _target_: hydra._internal.core_plugins.basic_launcher.BasicLauncher + sweeper: + _target_: hydra._internal.core_plugins.basic_sweeper.BasicSweeper + max_batch_size: null + params: null + help: + app_name: ${hydra.job.name} + header: '${hydra.help.app_name} is powered by Hydra. + + ' + footer: 'Powered by Hydra (https://hydra.cc) + + Use --hydra-help to view Hydra specific help + + ' + template: '${hydra.help.header} + + == Configuration groups == + + Compose your configuration from those groups (group=option) + + + $APP_CONFIG_GROUPS + + + == Config == + + Override anything in the config (foo.bar=value) + + + $CONFIG + + + ${hydra.help.footer} + + ' + hydra_help: + template: 'Hydra (${hydra.runtime.version}) + + See https://hydra.cc for more info. + + + == Flags == + + $FLAGS_HELP + + + == Configuration groups == + + Compose your configuration from those groups (For example, append hydra/job_logging=disabled + to command line) + + + $HYDRA_CONFIG_GROUPS + + + Use ''--cfg hydra'' to Show the Hydra config. + + ' + hydra_help: ??? + hydra_logging: + version: 1 + formatters: + simple: + format: '[%(asctime)s][HYDRA] %(message)s' + handlers: + console: + class: logging.StreamHandler + formatter: simple + stream: ext://sys.stdout + root: + level: INFO + handlers: + - console + loggers: + logging_example: + level: DEBUG + disable_existing_loggers: false + job_logging: + version: 1 + formatters: + simple: + format: '[%(asctime)s][%(name)s][%(levelname)s] - %(message)s' + handlers: + console: + class: logging.StreamHandler + formatter: simple + stream: ext://sys.stdout + file: + class: logging.FileHandler + formatter: simple + filename: ${hydra.runtime.output_dir}/${hydra.job.name}.log + root: + level: INFO + handlers: + - console + - file + disable_existing_loggers: false + env: {} + mode: RUN + searchpath: [] + callbacks: {} + output_subdir: .hydra + overrides: + hydra: + - hydra.mode=RUN + task: + - host=jz + - run_type=release + - multi_gpu=false + - checkpoint=best_val_iou + - country=Switzerland + - eval.split=test + - experiment=lidar_density_ablation256 + - experiment.name=v5_lidar_bs2x16_mnv256 + job: + name: predict + chdir: null + override_dirname: checkpoint=best_val_iou,country=Switzerland,eval.split=test,experiment.name=v5_lidar_bs2x16_mnv256,experiment=lidar_density_ablation256,host=jz,multi_gpu=false,run_type=release + id: ??? + num: ??? + config_name: config + env_set: {} + env_copy: [] + config: + override_dirname: + kv_sep: '=' + item_sep: ',' + exclude_keys: [] + runtime: + version: 1.3.2 + version_base: '1.3' + cwd: /lustre/fswork/projects/rech/cso/uku93eu/python/PixelsPointsPolygons + config_sources: + - path: hydra.conf + schema: pkg + provider: hydra + - path: /lustre/fswork/projects/rech/cso/uku93eu/python/PixelsPointsPolygons/config + schema: file + provider: main + - path: '' + schema: structured + provider: schema + output_dir: /lustre/fswork/projects/rech/cso/uku93eu/data/ffl_outputs/lidarpoly/224/v5_lidar_bs2x16_mnv256 + choices: + experiment: lidar_density_ablation256 + model@experiment.model: ffl + encoder@experiment.encoder: pointpillars_vit_cnn + dataset: lidarpoly + polygonization: asm_acm + run_type: release + host: jz + hydra/env: default + hydra/callbacks: null + hydra/job_logging: default + hydra/hydra_logging: default + hydra/hydra_help: default + hydra/help: default + hydra/sweeper: basic + hydra/launcher: basic + hydra/output: default + verbose: false diff --git a/ffl/224/v5_lidar_bs2x16_mnv256/.hydra/overrides.yaml b/ffl/224/v5_lidar_bs2x16_mnv256/.hydra/overrides.yaml new file mode 100644 index 0000000000000000000000000000000000000000..305071c1c3a76ef73f30a095e8d2068ed1482b55 --- /dev/null +++ b/ffl/224/v5_lidar_bs2x16_mnv256/.hydra/overrides.yaml @@ -0,0 +1,8 @@ +- host=jz +- run_type=release +- multi_gpu=false +- checkpoint=best_val_iou +- country=Switzerland +- eval.split=test +- experiment=lidar_density_ablation256 +- experiment.name=v5_lidar_bs2x16_mnv256 diff --git a/ffl/224/v5_lidar_bs2x16_mnv256/checkpoints/best_val_iou.pth b/ffl/224/v5_lidar_bs2x16_mnv256/checkpoints/best_val_iou.pth new file mode 100644 index 0000000000000000000000000000000000000000..66ae9f8e9e3d77b054f8d2f173577a42f61c0a9b --- /dev/null +++ b/ffl/224/v5_lidar_bs2x16_mnv256/checkpoints/best_val_iou.pth @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1e75d18107365f9c9652c6e4a42650ec7e0085f0d39fae0488ef0e5e8bf90cfc +size 284580523 diff --git a/ffl/224/v5_lidar_bs2x16_mnv256/predictions/best_val_iou.json b/ffl/224/v5_lidar_bs2x16_mnv256/predictions/best_val_iou.json new file mode 100644 index 0000000000000000000000000000000000000000..8c32a8ced927631be59bb5e38747c23eea40a4b5 --- /dev/null +++ b/ffl/224/v5_lidar_bs2x16_mnv256/predictions/best_val_iou.json @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1b7a974d7aeb7a88b0e2c3e64c551839277df368c823bb2795fd7de65938fd50 +size 419460 diff --git a/ffl/224/v5_lidar_bs2x16_mnv256/predictions_Switzerland_test/acm.tol_1/best_val_iou.json b/ffl/224/v5_lidar_bs2x16_mnv256/predictions_Switzerland_test/acm.tol_1/best_val_iou.json new file mode 100644 index 0000000000000000000000000000000000000000..cdea34d71955bbdf126139294146316ac9b30ddc --- /dev/null +++ b/ffl/224/v5_lidar_bs2x16_mnv256/predictions_Switzerland_test/acm.tol_1/best_val_iou.json @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:435fd56ed724ccaec635abd2befe012d7dd03093aab3df50ea3b7969d1a7c878 +size 5774386 diff --git a/ffl/224/v5_lidar_bs2x16_mnv256/predictions_Switzerland_test/best_val_iou.json b/ffl/224/v5_lidar_bs2x16_mnv256/predictions_Switzerland_test/best_val_iou.json new file mode 100644 index 0000000000000000000000000000000000000000..cdea34d71955bbdf126139294146316ac9b30ddc --- /dev/null +++ b/ffl/224/v5_lidar_bs2x16_mnv256/predictions_Switzerland_test/best_val_iou.json @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:435fd56ed724ccaec635abd2befe012d7dd03093aab3df50ea3b7969d1a7c878 +size 5774386 diff --git a/ffl/224/v5_lidar_bs2x16_mnv32/.hydra/config.yaml b/ffl/224/v5_lidar_bs2x16_mnv32/.hydra/config.yaml new file mode 100644 index 0000000000000000000000000000000000000000..b5590a03c46cef10c84de12b37e8f2a1d003d341 --- /dev/null +++ b/ffl/224/v5_lidar_bs2x16_mnv32/.hydra/config.yaml @@ -0,0 +1,236 @@ +host: + name: g5k + data_root: /home/rsulzer/data + update_pbar_every: 60 +run_type: + name: release + batch_size: 16 + train_subset: null + val_subset: null + test_subset: null + logging: INFO + num_workers: 16 + log_to_wandb: true +polygonization: + method: + - acm + common_params: + init_data_level: 0.5 + simple_method: + data_level: 0.5 + tolerance: + - 1.0 + seg_threshold: 0.5 + min_area: 10 + asm_method: + init_method: skeleton + data_level: 0.5 + loss_params: + coefs: + step_thresholds: + - 0 + - 100 + - 200 + - 300 + data: + - 1.0 + - 0.1 + - 0.0 + - 0.0 + crossfield: + - 0.0 + - 0.05 + - 0.0 + - 0.0 + length: + - 0.1 + - 0.01 + - 0.0 + - 0.0 + curvature: + - 0.0 + - 0.0 + - 1.0 + - 0.0 + corner: + - 0.0 + - 0.0 + - 0.5 + - 0.0 + junction: + - 0.0 + - 0.0 + - 0.5 + - 0.0 + curvature_dissimilarity_threshold: 2 + corner_angles: + - 45 + - 90 + - 135 + corner_angle_threshold: 22.5 + junction_angles: + - 0 + - 45 + - 90 + - 135 + junction_angle_weights: + - 1 + - 0.01 + - 0.1 + - 0.01 + junction_angle_threshold: 22.5 + lr: 0.1 + gamma: 0.995 + device: cuda + tolerance: + - 1 + seg_threshold: 0.5 + min_area: 10 + acm_method: + steps: 500 + data_level: 0.5 + data_coef: 0.1 + length_coef: 0.4 + crossfield_coef: 0.5 + poly_lr: 0.01 + warmup_iters: 100 + warmup_factor: 0.1 + device: cuda + tolerance: + - 1 + seg_threshold: 0.5 + min_area: 10 +dataset: + name: lidarpoly + size: ${..experiment.encoder.in_size} + path: ${host.data_root}/${.name}/${.size} + annotations: + train: ${..path}/annotations_${...country}_train.json + val: ${..path}/annotations_${...country}_val.json + test: ${..path}/annotations_${...country}_test.json + train_subset: ${..run_type.train_subset} + val_subset: ${..run_type.val_subset} + test_subset: ${..run_type.test_subset} + augmentations: + - D4 +experiment: + encoder: + name: pointpillars_vit_cnn + use_images: false + use_lidar: true + in_size: 224 + in_height: ${.in_size} + in_width: ${.in_size} + in_voxel_size: + x: 8 + 'y': 8 + z: 100 + max_num_points_per_voxel: 32 + max_num_voxels: + train: 784 + test: 784 + out_feature_size: ${..model.decoder.in_feature_size} + out_feature_height: ${.out_feature_size} + out_feature_width: ${.out_feature_size} + out_feature_dim: ${..model.decoder.in_feature_dim} + vit: + type: vit_small_patch${..patch_size}_${..in_size}.dino + checkpoint_file: ${....host.data_root}/checkpoints/backbones/dino_deitsmall8_pretrain.pth + pretrained: true + patch_size: 8 + patch_feature_size: 28 + patch_feature_height: ${.patch_feature_size} + patch_feature_width: ${.patch_feature_size} + patch_feature_dim: 384 + augmentations: + - D4 + model: + name: ffl + compute_seg: true + compute_crossfield: true + seg: + compute_interior: true + compute_edge: false + compute_vertex: false + decoder: + in_feature_size: ${...encoder.in_size} + in_feature_width: ${.in_feature_size} + in_feature_height: ${.in_feature_size} + in_feature_dim: ${if:${eq:${.in_feature_size},512}, 32, 256} + point_pillars: + out_channels: + - ${...decoder.in_feature_dim} + - ${...decoder.in_feature_dim} + - ${...decoder.in_feature_dim}] + upsample_strides: + - 4 + - 8 + - 16 + loss: + multi: + epoch_thresholds: + - 0 + - 5 + - 10 + weights: + seg: 1 + crossfield_align: 1 + crossfield_align90: 0.5 + crossfield_smooth: 0.005 + seg_interior_crossfield: + - 0 + - 0 + - 0.2 + seg_edge_crossfield: + - 0 + - 0 + - 0.2 + seg_edge_interior: + - 0 + - 0 + - 0.2 + seg: + bce_coef: 1.0 + dice_coef: 0.2 + use_freq: false + use_dist: false + use_size: false + w0: 50 + sigma: 10 + type: bool + batch_size: ${...run_type.batch_size} + start_epoch: 0 + num_epochs: 200 + milestone: 0 + learning_rate: 0.0001 + weight_decay: 0.0 + gamma: 0.95 + eval: + patch_size: null + patch_overlap: 200 + seg_threshold: 0.5 + name: v5_lidar_bs2x16_mnv32 + group_name: v2_${.model.name} +output_dir: ${.host.data_root}/${.experiment.model.name}_outputs/${.dataset.name}/${.experiment.encoder.in_size}/${.experiment.name} +checkpoint: null +checkpoint_file: null +save_best: true +save_latest: true +save_every: 10 +val_every: 1 +best_val_loss: 10000000.0 +best_val_iou: 0.0 +multi_gpu: true +device: cuda +log_to_wandb: true +num_workers: ${.run_type.num_workers} +update_pbar_every: ${.host.update_pbar_every} +country: Switzerland +use_lidar: ${.experiment.encoder.use_lidar} +use_images: ${.experiment.encoder.use_images} +eval: + split: val + pred_file: ${..output_dir}/predictions/${..checkpoint}.json + modes: + - iou + eval_file: results/metrics diff --git a/ffl/224/v5_lidar_bs2x16_mnv32/.hydra/hydra.yaml b/ffl/224/v5_lidar_bs2x16_mnv32/.hydra/hydra.yaml new file mode 100644 index 0000000000000000000000000000000000000000..6e0a2f7f620d2f603bd01b5cd2629c99e8204b1e --- /dev/null +++ b/ffl/224/v5_lidar_bs2x16_mnv32/.hydra/hydra.yaml @@ -0,0 +1,167 @@ +hydra: + run: + dir: ${...output_dir} + sweep: + dir: multirun/${now:%Y-%m-%d}/${now:%H-%M-%S} + subdir: ${hydra.job.num} + launcher: + _target_: hydra._internal.core_plugins.basic_launcher.BasicLauncher + sweeper: + _target_: hydra._internal.core_plugins.basic_sweeper.BasicSweeper + max_batch_size: null + params: null + help: + app_name: ${hydra.job.name} + header: '${hydra.help.app_name} is powered by Hydra. + + ' + footer: 'Powered by Hydra (https://hydra.cc) + + Use --hydra-help to view Hydra specific help + + ' + template: '${hydra.help.header} + + == Configuration groups == + + Compose your configuration from those groups (group=option) + + + $APP_CONFIG_GROUPS + + + == Config == + + Override anything in the config (foo.bar=value) + + + $CONFIG + + + ${hydra.help.footer} + + ' + hydra_help: + template: 'Hydra (${hydra.runtime.version}) + + See https://hydra.cc for more info. + + + == Flags == + + $FLAGS_HELP + + + == Configuration groups == + + Compose your configuration from those groups (For example, append hydra/job_logging=disabled + to command line) + + + $HYDRA_CONFIG_GROUPS + + + Use ''--cfg hydra'' to Show the Hydra config. + + ' + hydra_help: ??? + hydra_logging: + version: 1 + formatters: + simple: + format: '[%(asctime)s][HYDRA] %(message)s' + handlers: + console: + class: logging.StreamHandler + formatter: simple + stream: ext://sys.stdout + root: + level: INFO + handlers: + - console + loggers: + logging_example: + level: DEBUG + disable_existing_loggers: false + job_logging: + version: 1 + formatters: + simple: + format: '[%(asctime)s][%(name)s][%(levelname)s] - %(message)s' + handlers: + console: + class: logging.StreamHandler + formatter: simple + stream: ext://sys.stdout + file: + class: logging.FileHandler + formatter: simple + filename: ${hydra.runtime.output_dir}/${hydra.job.name}.log + root: + level: INFO + handlers: + - console + - file + disable_existing_loggers: false + env: {} + mode: RUN + searchpath: [] + callbacks: {} + output_subdir: .hydra + overrides: + hydra: + - hydra.mode=RUN + task: + - log_to_wandb=true + - host=g5k + - run_type=release + - multi_gpu=true + - checkpoint=null + - experiment=lidar_density_ablation32 + job: + name: train + chdir: null + override_dirname: checkpoint=null,experiment=lidar_density_ablation32,host=g5k,log_to_wandb=true,multi_gpu=true,run_type=release + id: ??? + num: ??? + config_name: config + env_set: {} + env_copy: [] + config: + override_dirname: + kv_sep: '=' + item_sep: ',' + exclude_keys: [] + runtime: + version: 1.3.2 + version_base: '1.3' + cwd: /home/rsulzer/python/PixelsPointsPolygons + config_sources: + - path: hydra.conf + schema: pkg + provider: hydra + - path: /home/rsulzer/python/PixelsPointsPolygons/config + schema: file + provider: main + - path: '' + schema: structured + provider: schema + output_dir: /home/rsulzer/data/ffl_outputs/lidarpoly/224/v5_lidar_bs2x16_mnv32 + choices: + experiment: lidar_density_ablation32 + model@experiment.model: ffl + encoder@experiment.encoder: pointpillars_vit_cnn + dataset: lidarpoly + polygonization: asm_acm + run_type: release + host: g5k + hydra/env: default + hydra/callbacks: null + hydra/job_logging: default + hydra/hydra_logging: default + hydra/hydra_help: default + hydra/help: default + hydra/sweeper: basic + hydra/launcher: basic + hydra/output: default + verbose: false diff --git a/ffl/224/v5_lidar_bs2x16_mnv32/.hydra/overrides.yaml b/ffl/224/v5_lidar_bs2x16_mnv32/.hydra/overrides.yaml new file mode 100644 index 0000000000000000000000000000000000000000..f9fef34168af70ad55298598d3400cae0a9d716b --- /dev/null +++ b/ffl/224/v5_lidar_bs2x16_mnv32/.hydra/overrides.yaml @@ -0,0 +1,6 @@ +- log_to_wandb=true +- host=g5k +- run_type=release +- multi_gpu=true +- checkpoint=null +- experiment=lidar_density_ablation32 diff --git a/ffl/224/v5_lidar_bs2x16_mnv32/checkpoints/best_val_iou.pth b/ffl/224/v5_lidar_bs2x16_mnv32/checkpoints/best_val_iou.pth new file mode 100644 index 0000000000000000000000000000000000000000..9f16d3d28b677af1c8b3e5f3a7884ed90b0b9cf1 --- /dev/null +++ b/ffl/224/v5_lidar_bs2x16_mnv32/checkpoints/best_val_iou.pth @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7dace6bdd411d95adde1fb4304746c2e612dcc115721e4c8f36405f1b0fe636b +size 284579947 diff --git a/ffl/224/v5_lidar_bs2x16_mnv32/predictions/best_val_iou.json b/ffl/224/v5_lidar_bs2x16_mnv32/predictions/best_val_iou.json new file mode 100644 index 0000000000000000000000000000000000000000..b6440550ac26509ed698923bcb172eff28166713 --- /dev/null +++ b/ffl/224/v5_lidar_bs2x16_mnv32/predictions/best_val_iou.json @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2fd681c47eb8b1f2f5bf3d2e2e5e4e88a23fb077647f7be880a0cd3d80ef8bd3 +size 481102 diff --git a/ffl/224/v5_lidar_bs2x16_mnv32/predictions_Switzerland_test/acm.tol_1/best_val_iou.json b/ffl/224/v5_lidar_bs2x16_mnv32/predictions_Switzerland_test/acm.tol_1/best_val_iou.json new file mode 100644 index 0000000000000000000000000000000000000000..5962a70c7e6c06d3d76d05bddd8501c961193381 --- /dev/null +++ b/ffl/224/v5_lidar_bs2x16_mnv32/predictions_Switzerland_test/acm.tol_1/best_val_iou.json @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8f879ce2e3aee8aa69243d5bd3ad0f665b09e75297d4de49fb641e779a2883d4 +size 6458265 diff --git a/ffl/224/v5_lidar_bs2x16_mnv32/predictions_Switzerland_test/best_val_iou.json b/ffl/224/v5_lidar_bs2x16_mnv32/predictions_Switzerland_test/best_val_iou.json new file mode 100644 index 0000000000000000000000000000000000000000..5962a70c7e6c06d3d76d05bddd8501c961193381 --- /dev/null +++ b/ffl/224/v5_lidar_bs2x16_mnv32/predictions_Switzerland_test/best_val_iou.json @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8f879ce2e3aee8aa69243d5bd3ad0f665b09e75297d4de49fb641e779a2883d4 +size 6458265 diff --git a/ffl/224/v5_lidar_bs2x16_mnv32/predictions_Switzerland_val/acm.tol_1/best_val_iou.json b/ffl/224/v5_lidar_bs2x16_mnv32/predictions_Switzerland_val/acm.tol_1/best_val_iou.json new file mode 100644 index 0000000000000000000000000000000000000000..1a43a3d844f887094946e7121df7ba8c8c8a34a2 --- /dev/null +++ b/ffl/224/v5_lidar_bs2x16_mnv32/predictions_Switzerland_val/acm.tol_1/best_val_iou.json @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9f15f9a4ff6b18f80133bc44ce676dfe430bee27a09717ecd22701c8a8d37821 +size 33524 diff --git a/ffl/224/v5_lidar_bs2x16_mnv32/predictions_Switzerland_val/best_val_iou.json b/ffl/224/v5_lidar_bs2x16_mnv32/predictions_Switzerland_val/best_val_iou.json new file mode 100644 index 0000000000000000000000000000000000000000..1a43a3d844f887094946e7121df7ba8c8c8a34a2 --- /dev/null +++ b/ffl/224/v5_lidar_bs2x16_mnv32/predictions_Switzerland_val/best_val_iou.json @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9f15f9a4ff6b18f80133bc44ce676dfe430bee27a09717ecd22701c8a8d37821 +size 33524 diff --git a/ffl/224/v5_lidar_bs2x16_mnv4/.hydra/config.yaml b/ffl/224/v5_lidar_bs2x16_mnv4/.hydra/config.yaml new file mode 100644 index 0000000000000000000000000000000000000000..22230463fb00663e334c8e90ab90df4e9c73e93f --- /dev/null +++ b/ffl/224/v5_lidar_bs2x16_mnv4/.hydra/config.yaml @@ -0,0 +1,238 @@ +host: + name: g5k + data_root: /home/rsulzer/data + update_pbar_every: 60 +run_type: + name: release + batch_size: 16 + train_subset: null + val_subset: null + test_subset: null + logging: INFO + num_workers: 16 + log_to_wandb: true +polygonization: + method: + - acm + common_params: + init_data_level: 0.5 + simple_method: + data_level: 0.5 + tolerance: + - 1.0 + seg_threshold: 0.5 + min_area: 10 + asm_method: + init_method: skeleton + data_level: 0.5 + loss_params: + coefs: + step_thresholds: + - 0 + - 100 + - 200 + - 300 + data: + - 1.0 + - 0.1 + - 0.0 + - 0.0 + crossfield: + - 0.0 + - 0.05 + - 0.0 + - 0.0 + length: + - 0.1 + - 0.01 + - 0.0 + - 0.0 + curvature: + - 0.0 + - 0.0 + - 1.0 + - 0.0 + corner: + - 0.0 + - 0.0 + - 0.5 + - 0.0 + junction: + - 0.0 + - 0.0 + - 0.5 + - 0.0 + curvature_dissimilarity_threshold: 2 + corner_angles: + - 45 + - 90 + - 135 + corner_angle_threshold: 22.5 + junction_angles: + - 0 + - 45 + - 90 + - 135 + junction_angle_weights: + - 1 + - 0.01 + - 0.1 + - 0.01 + junction_angle_threshold: 22.5 + lr: 0.1 + gamma: 0.995 + device: cuda + tolerance: + - 1 + seg_threshold: 0.5 + min_area: 10 + acm_method: + steps: 500 + data_level: 0.5 + data_coef: 0.1 + length_coef: 0.4 + crossfield_coef: 0.5 + poly_lr: 0.01 + warmup_iters: 100 + warmup_factor: 0.1 + device: cuda + tolerance: + - 1 + seg_threshold: 0.5 + min_area: 10 +dataset: + name: lidarpoly + size: ${..experiment.encoder.in_size} + path: ${host.data_root}/${.name}/${.size} + annotations: + train: ${..path}/annotations_${...country}_train.json + val: ${..path}/annotations_${...country}_val.json + test: ${..path}/annotations_${...country}_test.json + ffl_stats: + train: ${..path}/ffl/train/stats-${...country}.pt + val: ${..path}/ffl/val/stats-${...country}.pt + test: ${..path}/ffl/test/stats-${...country}.pt + train_subset: ${..run_type.train_subset} + val_subset: ${..run_type.val_subset} + test_subset: ${..run_type.test_subset} +experiment: + encoder: + name: pointpillars_vit_cnn + use_images: false + use_lidar: true + in_size: 224 + in_height: ${.in_size} + in_width: ${.in_size} + in_voxel_size: + x: 8 + 'y': 8 + z: 100 + max_num_points_per_voxel: 4 + max_num_voxels: + train: 784 + test: 784 + out_feature_size: ${..model.decoder.in_feature_size} + out_feature_height: ${.out_feature_size} + out_feature_width: ${.out_feature_size} + out_feature_dim: ${..model.decoder.in_feature_dim} + vit: + type: vit_small_patch${..patch_size}_${..in_size}.dino + checkpoint_file: ${....host.data_root}/checkpoints/backbones/dino_deitsmall8_pretrain.pth + pretrained: true + patch_size: 8 + patch_feature_size: 28 + patch_feature_height: ${.patch_feature_size} + patch_feature_width: ${.patch_feature_size} + patch_feature_dim: 384 + augmentations: + - D4 + model: + name: ffl + compute_seg: true + compute_crossfield: true + seg: + compute_interior: true + compute_edge: false + compute_vertex: false + decoder: + in_feature_size: ${...encoder.in_size} + in_feature_width: ${.in_feature_size} + in_feature_height: ${.in_feature_size} + in_feature_dim: ${if:${eq:${.in_feature_size},512}, 32, 256} + point_pillars: + out_channels: + - ${...decoder.in_feature_dim} + - ${...decoder.in_feature_dim} + - ${...decoder.in_feature_dim}] + upsample_strides: + - 4 + - 8 + - 16 + loss: + multi: + epoch_thresholds: + - 0 + - 5 + - 10 + weights: + seg: 1 + crossfield_align: 1 + crossfield_align90: 0.5 + crossfield_smooth: 0.005 + seg_interior_crossfield: + - 0 + - 0 + - 0.2 + seg_edge_crossfield: + - 0 + - 0 + - 0.2 + seg_edge_interior: + - 0 + - 0 + - 0.2 + seg: + bce_coef: 1.0 + dice_coef: 0.2 + use_freq: false + use_dist: false + use_size: false + w0: 50 + sigma: 10 + type: bool + batch_size: ${...run_type.batch_size} + start_epoch: 0 + num_epochs: 200 + milestone: 0 + learning_rate: 0.0001 + weight_decay: 0.0 + gamma: 0.95 + eval: + patch_size: null + patch_overlap: 200 + seg_threshold: 0.5 + name: v5_lidar_bs2x16_mnv4 + group_name: v2_${.model.name} +output_dir: ${.host.data_root}/${.experiment.model.name}_outputs/${.dataset.name}/${.experiment.encoder.in_size}/${.experiment.name} +checkpoint: latest +checkpoint_file: null +save_best: true +save_latest: true +save_every: 10 +val_every: 1 +best_val_loss: 10000000.0 +best_val_iou: 0.0 +multi_gpu: true +device: cuda +log_to_wandb: true +num_workers: ${.run_type.num_workers} +update_pbar_every: ${.host.update_pbar_every} +country: Switzerland +use_lidar: ${.experiment.encoder.use_lidar} +use_images: ${.experiment.encoder.use_images} +eval: + split: val + pred_file: ${..output_dir}/predictions_${..country}_${.split}/${..checkpoint}.json + modes: + - iou + eval_file: results/metrics diff --git a/ffl/224/v5_lidar_bs2x16_mnv4/.hydra/hydra.yaml b/ffl/224/v5_lidar_bs2x16_mnv4/.hydra/hydra.yaml new file mode 100644 index 0000000000000000000000000000000000000000..940ddff20ba0532ae0d7e1b80ad3f6739d5da2e8 --- /dev/null +++ b/ffl/224/v5_lidar_bs2x16_mnv4/.hydra/hydra.yaml @@ -0,0 +1,168 @@ +hydra: + run: + dir: ${...output_dir} + sweep: + dir: multirun/${now:%Y-%m-%d}/${now:%H-%M-%S} + subdir: ${hydra.job.num} + launcher: + _target_: hydra._internal.core_plugins.basic_launcher.BasicLauncher + sweeper: + _target_: hydra._internal.core_plugins.basic_sweeper.BasicSweeper + max_batch_size: null + params: null + help: + app_name: ${hydra.job.name} + header: '${hydra.help.app_name} is powered by Hydra. + + ' + footer: 'Powered by Hydra (https://hydra.cc) + + Use --hydra-help to view Hydra specific help + + ' + template: '${hydra.help.header} + + == Configuration groups == + + Compose your configuration from those groups (group=option) + + + $APP_CONFIG_GROUPS + + + == Config == + + Override anything in the config (foo.bar=value) + + + $CONFIG + + + ${hydra.help.footer} + + ' + hydra_help: + template: 'Hydra (${hydra.runtime.version}) + + See https://hydra.cc for more info. + + + == Flags == + + $FLAGS_HELP + + + == Configuration groups == + + Compose your configuration from those groups (For example, append hydra/job_logging=disabled + to command line) + + + $HYDRA_CONFIG_GROUPS + + + Use ''--cfg hydra'' to Show the Hydra config. + + ' + hydra_help: ??? + hydra_logging: + version: 1 + formatters: + simple: + format: '[%(asctime)s][HYDRA] %(message)s' + handlers: + console: + class: logging.StreamHandler + formatter: simple + stream: ext://sys.stdout + root: + level: INFO + handlers: + - console + loggers: + logging_example: + level: DEBUG + disable_existing_loggers: false + job_logging: + version: 1 + formatters: + simple: + format: '[%(asctime)s][%(name)s][%(levelname)s] - %(message)s' + handlers: + console: + class: logging.StreamHandler + formatter: simple + stream: ext://sys.stdout + file: + class: logging.FileHandler + formatter: simple + filename: ${hydra.runtime.output_dir}/${hydra.job.name}.log + root: + level: INFO + handlers: + - console + - file + disable_existing_loggers: false + env: {} + mode: RUN + searchpath: [] + callbacks: {} + output_subdir: .hydra + overrides: + hydra: + - hydra.mode=RUN + task: + - log_to_wandb=true + - host=g5k + - run_type=release + - multi_gpu=true + - checkpoint=null + - experiment=lidar_density_ablation4 + - checkpoint=latest + job: + name: train + chdir: null + override_dirname: checkpoint=latest,checkpoint=null,experiment=lidar_density_ablation4,host=g5k,log_to_wandb=true,multi_gpu=true,run_type=release + id: ??? + num: ??? + config_name: config + env_set: {} + env_copy: [] + config: + override_dirname: + kv_sep: '=' + item_sep: ',' + exclude_keys: [] + runtime: + version: 1.3.2 + version_base: '1.3' + cwd: /home/rsulzer/python/PixelsPointsPolygons + config_sources: + - path: hydra.conf + schema: pkg + provider: hydra + - path: /home/rsulzer/python/PixelsPointsPolygons/config + schema: file + provider: main + - path: '' + schema: structured + provider: schema + output_dir: /home/rsulzer/data/ffl_outputs/lidarpoly/224/v5_lidar_bs2x16_mnv4 + choices: + experiment: lidar_density_ablation4 + model@experiment.model: ffl + encoder@experiment.encoder: pointpillars_vit_cnn + dataset: lidarpoly + polygonization: asm_acm + run_type: release + host: g5k + hydra/env: default + hydra/callbacks: null + hydra/job_logging: default + hydra/hydra_logging: default + hydra/hydra_help: default + hydra/help: default + hydra/sweeper: basic + hydra/launcher: basic + hydra/output: default + verbose: false diff --git a/ffl/224/v5_lidar_bs2x16_mnv4/.hydra/overrides.yaml b/ffl/224/v5_lidar_bs2x16_mnv4/.hydra/overrides.yaml new file mode 100644 index 0000000000000000000000000000000000000000..803962a550dda960e0a9c5abce7960a32f48d099 --- /dev/null +++ b/ffl/224/v5_lidar_bs2x16_mnv4/.hydra/overrides.yaml @@ -0,0 +1,7 @@ +- log_to_wandb=true +- host=g5k +- run_type=release +- multi_gpu=true +- checkpoint=null +- experiment=lidar_density_ablation4 +- checkpoint=latest diff --git a/ffl/224/v5_lidar_bs2x16_mnv4/checkpoints/best_val_iou.pth b/ffl/224/v5_lidar_bs2x16_mnv4/checkpoints/best_val_iou.pth new file mode 100644 index 0000000000000000000000000000000000000000..cc0722aee2c5a1819b7a19427dc7c290177bb9b6 --- /dev/null +++ b/ffl/224/v5_lidar_bs2x16_mnv4/checkpoints/best_val_iou.pth @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:10bd07a3cc09b9d41a52bf3323e71bccb8c1c76c868ee2dfa457a35688ab1fa9 +size 284580331 diff --git a/ffl/224/v5_lidar_bs2x16_mnv4/predictions/best_val_iou.json b/ffl/224/v5_lidar_bs2x16_mnv4/predictions/best_val_iou.json new file mode 100644 index 0000000000000000000000000000000000000000..58a9be1de99040b41d7af2961e5684d42d2fec08 --- /dev/null +++ b/ffl/224/v5_lidar_bs2x16_mnv4/predictions/best_val_iou.json @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4eb837c594115eab6c02fd99c4c1f253cccc4a4d93162527d2dcd673ec21c1a0 +size 477793 diff --git a/ffl/224/v5_lidar_bs2x16_mnv4/predictions_Switzerland_test/acm.tol_1/best_val_iou.json b/ffl/224/v5_lidar_bs2x16_mnv4/predictions_Switzerland_test/acm.tol_1/best_val_iou.json new file mode 100644 index 0000000000000000000000000000000000000000..1fd7a77334b2d897f5f991760741a74bef4bffa4 --- /dev/null +++ b/ffl/224/v5_lidar_bs2x16_mnv4/predictions_Switzerland_test/acm.tol_1/best_val_iou.json @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f39a6c4883f4086bb1e0b0a20061a1026f810b7da8c5f65fcc8ad509d6cd1173 +size 7176215 diff --git a/ffl/224/v5_lidar_bs2x16_mnv4/predictions_Switzerland_test/best_val_iou.json b/ffl/224/v5_lidar_bs2x16_mnv4/predictions_Switzerland_test/best_val_iou.json new file mode 100644 index 0000000000000000000000000000000000000000..1fd7a77334b2d897f5f991760741a74bef4bffa4 --- /dev/null +++ b/ffl/224/v5_lidar_bs2x16_mnv4/predictions_Switzerland_test/best_val_iou.json @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f39a6c4883f4086bb1e0b0a20061a1026f810b7da8c5f65fcc8ad509d6cd1173 +size 7176215 diff --git a/ffl/224/v5_lidar_bs2x16_mnv4/predictions_Switzerland_val/acm.tol_1/best_val_iou.json b/ffl/224/v5_lidar_bs2x16_mnv4/predictions_Switzerland_val/acm.tol_1/best_val_iou.json new file mode 100644 index 0000000000000000000000000000000000000000..9db3fdec36bb6f80ba4f540a90a5b5d8c5c95052 --- /dev/null +++ b/ffl/224/v5_lidar_bs2x16_mnv4/predictions_Switzerland_val/acm.tol_1/best_val_iou.json @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4bb9a06531f31ea3a91465574d1e19ca6ae7aae23e6c45df112d681b609a8fa2 +size 40844 diff --git a/ffl/224/v5_lidar_bs2x16_mnv4/predictions_Switzerland_val/best_val_iou.json b/ffl/224/v5_lidar_bs2x16_mnv4/predictions_Switzerland_val/best_val_iou.json new file mode 100644 index 0000000000000000000000000000000000000000..9db3fdec36bb6f80ba4f540a90a5b5d8c5c95052 --- /dev/null +++ b/ffl/224/v5_lidar_bs2x16_mnv4/predictions_Switzerland_val/best_val_iou.json @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4bb9a06531f31ea3a91465574d1e19ca6ae7aae23e6c45df112d681b609a8fa2 +size 40844 diff --git a/ffl/224/v5_lidar_bs2x16_mnv512/.hydra/config.yaml b/ffl/224/v5_lidar_bs2x16_mnv512/.hydra/config.yaml new file mode 100644 index 0000000000000000000000000000000000000000..78bcda9ea8ee8d5c5a014b232022c91a57e5d246 --- /dev/null +++ b/ffl/224/v5_lidar_bs2x16_mnv512/.hydra/config.yaml @@ -0,0 +1,239 @@ +host: + name: gin + data_root: /data/rsulzer + update_pbar_every: 1 +run_type: + name: release + batch_size: 16 + train_subset: null + val_subset: null + test_subset: null + logging: INFO + num_workers: 16 + log_to_wandb: true +polygonization: + method: + - acm + common_params: + init_data_level: 0.5 + simple_method: + data_level: 0.5 + tolerance: + - 1.0 + seg_threshold: 0.5 + min_area: 10 + asm_method: + init_method: skeleton + data_level: 0.5 + loss_params: + coefs: + step_thresholds: + - 0 + - 100 + - 200 + - 300 + data: + - 1.0 + - 0.1 + - 0.0 + - 0.0 + crossfield: + - 0.0 + - 0.05 + - 0.0 + - 0.0 + length: + - 0.1 + - 0.01 + - 0.0 + - 0.0 + curvature: + - 0.0 + - 0.0 + - 1.0 + - 0.0 + corner: + - 0.0 + - 0.0 + - 0.5 + - 0.0 + junction: + - 0.0 + - 0.0 + - 0.5 + - 0.0 + curvature_dissimilarity_threshold: 2 + corner_angles: + - 45 + - 90 + - 135 + corner_angle_threshold: 22.5 + junction_angles: + - 0 + - 45 + - 90 + - 135 + junction_angle_weights: + - 1 + - 0.01 + - 0.1 + - 0.01 + junction_angle_threshold: 22.5 + lr: 0.1 + gamma: 0.995 + device: cuda + tolerance: + - 1 + seg_threshold: 0.5 + min_area: 10 + acm_method: + steps: 500 + data_level: 0.5 + data_coef: 0.1 + length_coef: 0.4 + crossfield_coef: 0.5 + poly_lr: 0.01 + warmup_iters: 100 + warmup_factor: 0.1 + device: cuda + tolerance: + - 1 + seg_threshold: 0.5 + min_area: 10 +dataset: + name: lidarpoly + size: ${..experiment.encoder.in_size} + path: ${host.data_root}/${.name}/${.size} + annotations: + train: ${..path}/annotations_${...country}_train.json + val: ${..path}/annotations_${...country}_val.json + test: ${..path}/annotations_${...country}_test.json + ffl_stats: + train: ${..path}/ffl/train/stats-${...country}.pt + val: ${..path}/ffl/val/stats-${...country}.pt + test: ${..path}/ffl/test/stats-${...country}.pt + train_subset: ${..run_type.train_subset} + val_subset: ${..run_type.val_subset} + test_subset: ${..run_type.test_subset} +experiment: + encoder: + name: pointpillars_vit_cnn + use_images: false + use_lidar: true + in_size: 224 + in_height: ${.in_size} + in_width: ${.in_size} + in_voxel_size: + x: 8 + 'y': 8 + z: 100 + max_num_points_per_voxel: 512 + max_num_voxels: + train: 784 + test: 784 + out_feature_size: ${..model.decoder.in_feature_size} + out_feature_height: ${.out_feature_size} + out_feature_width: ${.out_feature_size} + out_feature_dim: ${..model.decoder.in_feature_dim} + vit: + type: vit_small_patch${..patch_size}_${..in_size}.dino + checkpoint_file: ${....host.data_root}/checkpoints/backbones/dino_deitsmall8_pretrain.pth + pretrained: true + patch_size: 8 + patch_feature_size: 28 + patch_feature_height: ${.patch_feature_size} + patch_feature_width: ${.patch_feature_size} + patch_feature_dim: 384 + augmentations: + - D4 + model: + name: ffl + compute_seg: true + compute_crossfield: true + seg: + compute_interior: true + compute_edge: false + compute_vertex: false + decoder: + in_feature_size: ${...encoder.in_size} + in_feature_width: ${.in_feature_size} + in_feature_height: ${.in_feature_size} + in_feature_dim: ${if:${eq:${.in_feature_size},512}, 32, 256} + point_pillars: + out_channels: + - ${...decoder.in_feature_dim} + - ${...decoder.in_feature_dim} + - ${...decoder.in_feature_dim}] + upsample_strides: + - 4 + - 8 + - 16 + loss: + multi: + epoch_thresholds: + - 0 + - 5 + - 10 + weights: + seg: 1 + crossfield_align: 1 + crossfield_align90: 0.5 + crossfield_smooth: 0.005 + seg_interior_crossfield: + - 0 + - 0 + - 0.2 + seg_edge_crossfield: + - 0 + - 0 + - 0.2 + seg_edge_interior: + - 0 + - 0 + - 0.2 + seg: + bce_coef: 1.0 + dice_coef: 0.2 + use_freq: false + use_dist: false + use_size: false + w0: 50 + sigma: 10 + type: bool + batch_size: ${...run_type.batch_size} + start_epoch: 0 + num_epochs: 200 + milestone: 0 + learning_rate: 0.0001 + weight_decay: 0.0 + gamma: 0.95 + eval: + patch_size: null + patch_overlap: 200 + seg_threshold: 0.5 + name: v5_lidar_bs2x16_mnv512 + group_name: v2_${.model.name} +output_dir: ${.host.data_root}/${.experiment.model.name}_outputs/${.dataset.name}/${.experiment.encoder.in_size}/${.experiment.name} +checkpoint: best_val_iou +checkpoint_file: null +save_best: true +save_latest: true +save_every: 10 +val_every: 1 +best_val_loss: 10000000.0 +best_val_iou: 0.0 +multi_gpu: false +device: cuda +log_to_wandb: false +num_workers: ${.run_type.num_workers} +update_pbar_every: ${.host.update_pbar_every} +country: Switzerland +use_lidar: ${.experiment.encoder.use_lidar} +use_images: ${.experiment.encoder.use_images} +eval: + split: test + pred_file: ${..output_dir}/predictions_${..country}_${.split}/${..checkpoint}.json + modes: + - coco + eval_file: results/metrics + ldof_exe: /user/rsulzer/home/cpp/line-DOF-metric/build/calculate_DoF diff --git a/ffl/224/v5_lidar_bs2x16_mnv512/.hydra/hydra.yaml b/ffl/224/v5_lidar_bs2x16_mnv512/.hydra/hydra.yaml new file mode 100644 index 0000000000000000000000000000000000000000..8129c0b1931153c3e8f428a252e7396d38ac4604 --- /dev/null +++ b/ffl/224/v5_lidar_bs2x16_mnv512/.hydra/hydra.yaml @@ -0,0 +1,169 @@ +hydra: + run: + dir: ${...output_dir} + sweep: + dir: multirun/${now:%Y-%m-%d}/${now:%H-%M-%S} + subdir: ${hydra.job.num} + launcher: + _target_: hydra._internal.core_plugins.basic_launcher.BasicLauncher + sweeper: + _target_: hydra._internal.core_plugins.basic_sweeper.BasicSweeper + max_batch_size: null + params: null + help: + app_name: ${hydra.job.name} + header: '${hydra.help.app_name} is powered by Hydra. + + ' + footer: 'Powered by Hydra (https://hydra.cc) + + Use --hydra-help to view Hydra specific help + + ' + template: '${hydra.help.header} + + == Configuration groups == + + Compose your configuration from those groups (group=option) + + + $APP_CONFIG_GROUPS + + + == Config == + + Override anything in the config (foo.bar=value) + + + $CONFIG + + + ${hydra.help.footer} + + ' + hydra_help: + template: 'Hydra (${hydra.runtime.version}) + + See https://hydra.cc for more info. + + + == Flags == + + $FLAGS_HELP + + + == Configuration groups == + + Compose your configuration from those groups (For example, append hydra/job_logging=disabled + to command line) + + + $HYDRA_CONFIG_GROUPS + + + Use ''--cfg hydra'' to Show the Hydra config. + + ' + hydra_help: ??? + hydra_logging: + version: 1 + formatters: + simple: + format: '[%(asctime)s][HYDRA] %(message)s' + handlers: + console: + class: logging.StreamHandler + formatter: simple + stream: ext://sys.stdout + root: + level: INFO + handlers: + - console + loggers: + logging_example: + level: DEBUG + disable_existing_loggers: false + job_logging: + version: 1 + formatters: + simple: + format: '[%(asctime)s][%(name)s][%(levelname)s] - %(message)s' + handlers: + console: + class: logging.StreamHandler + formatter: simple + stream: ext://sys.stdout + file: + class: logging.FileHandler + formatter: simple + filename: ${hydra.runtime.output_dir}/${hydra.job.name}.log + root: + level: INFO + handlers: + - console + - file + disable_existing_loggers: false + env: {} + mode: RUN + searchpath: [] + callbacks: {} + output_subdir: .hydra + overrides: + hydra: + - hydra.mode=RUN + task: + - run_type=release + - host=gin + - device=cuda + - log_to_wandb=false + - multi_gpu=false + - eval.split=test + - checkpoint=best_val_iou + - experiment=lidar_density_ablation512 + job: + name: evaluate + chdir: null + override_dirname: checkpoint=best_val_iou,device=cuda,eval.split=test,experiment=lidar_density_ablation512,host=gin,log_to_wandb=false,multi_gpu=false,run_type=release + id: ??? + num: ??? + config_name: config + env_set: {} + env_copy: [] + config: + override_dirname: + kv_sep: '=' + item_sep: ',' + exclude_keys: [] + runtime: + version: 1.3.2 + version_base: '1.3' + cwd: /run/netsop/u/home-sam/home/rsulzer/remote_python/pixelspointspolygons + config_sources: + - path: hydra.conf + schema: pkg + provider: hydra + - path: /run/netsop/u/home-sam/home/rsulzer/remote_python/pixelspointspolygons/config + schema: file + provider: main + - path: '' + schema: structured + provider: schema + output_dir: /data/rsulzer/ffl_outputs/lidarpoly/224/v5_lidar_bs2x16_mnv512 + choices: + experiment: lidar_density_ablation512 + model@experiment.model: ffl + encoder@experiment.encoder: pointpillars_vit_cnn + dataset: lidarpoly + polygonization: asm_acm + run_type: release + host: gin + hydra/env: default + hydra/callbacks: null + hydra/job_logging: default + hydra/hydra_logging: default + hydra/hydra_help: default + hydra/help: default + hydra/sweeper: basic + hydra/launcher: basic + hydra/output: default + verbose: false diff --git a/ffl/224/v5_lidar_bs2x16_mnv512/.hydra/overrides.yaml b/ffl/224/v5_lidar_bs2x16_mnv512/.hydra/overrides.yaml new file mode 100644 index 0000000000000000000000000000000000000000..014ca6820f02fcb75328cafa3ac1ae9c1329e0ad --- /dev/null +++ b/ffl/224/v5_lidar_bs2x16_mnv512/.hydra/overrides.yaml @@ -0,0 +1,8 @@ +- run_type=release +- host=gin +- device=cuda +- log_to_wandb=false +- multi_gpu=false +- eval.split=test +- checkpoint=best_val_iou +- experiment=lidar_density_ablation512 diff --git a/ffl/224/v5_lidar_bs2x16_mnv512/checkpoints/best_val_iou.pth b/ffl/224/v5_lidar_bs2x16_mnv512/checkpoints/best_val_iou.pth new file mode 100644 index 0000000000000000000000000000000000000000..81b9b937e7cab128bc5633d63d5985874b8e7f01 --- /dev/null +++ b/ffl/224/v5_lidar_bs2x16_mnv512/checkpoints/best_val_iou.pth @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5c7a895d2358009e6741386fb4ba32b522dfcc704cf6e4e26f6794d756d4467a +size 284580523 diff --git a/ffl/224/v5_lidar_bs2x16_mnv512/predictions/best_val_iou.json b/ffl/224/v5_lidar_bs2x16_mnv512/predictions/best_val_iou.json new file mode 100644 index 0000000000000000000000000000000000000000..6bd7178ecd8fa50acd9d75976897be9a14e14b28 --- /dev/null +++ b/ffl/224/v5_lidar_bs2x16_mnv512/predictions/best_val_iou.json @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1829f64f85bfb6b355e0f4abdb8ba92bef18ce9db7321c0b6044f0b6da3ec718 +size 416125 diff --git a/ffl/224/v5_lidar_bs2x16_mnv512/predictions_Switzerland_test/acm.tol_1/best_val_iou.json b/ffl/224/v5_lidar_bs2x16_mnv512/predictions_Switzerland_test/acm.tol_1/best_val_iou.json new file mode 100644 index 0000000000000000000000000000000000000000..f69101b072b7acb2396c62d3792e7b7bb2f3dcc8 --- /dev/null +++ b/ffl/224/v5_lidar_bs2x16_mnv512/predictions_Switzerland_test/acm.tol_1/best_val_iou.json @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3321334550da33577f0f7ce79e016ce8b7d71ecdbbced2a97a56f9b790e17b17 +size 5957780 diff --git a/ffl/224/v5_lidar_bs2x16_mnv512/predictions_Switzerland_test/best_val_iou.json b/ffl/224/v5_lidar_bs2x16_mnv512/predictions_Switzerland_test/best_val_iou.json new file mode 100644 index 0000000000000000000000000000000000000000..f69101b072b7acb2396c62d3792e7b7bb2f3dcc8 --- /dev/null +++ b/ffl/224/v5_lidar_bs2x16_mnv512/predictions_Switzerland_test/best_val_iou.json @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3321334550da33577f0f7ce79e016ce8b7d71ecdbbced2a97a56f9b790e17b17 +size 5957780 diff --git a/ffl/224/v5_lidar_bs2x16_mnv64/.hydra/config.yaml b/ffl/224/v5_lidar_bs2x16_mnv64/.hydra/config.yaml new file mode 100644 index 0000000000000000000000000000000000000000..a48f3caa69b8ba3d21dba594df04e00d31e2743f --- /dev/null +++ b/ffl/224/v5_lidar_bs2x16_mnv64/.hydra/config.yaml @@ -0,0 +1,236 @@ +host: + name: g5k + data_root: /home/rsulzer/data + update_pbar_every: 60 +run_type: + name: release + batch_size: 16 + train_subset: null + val_subset: null + test_subset: null + logging: INFO + num_workers: 16 + log_to_wandb: true +polygonization: + method: + - acm + common_params: + init_data_level: 0.5 + simple_method: + data_level: 0.5 + tolerance: + - 1.0 + seg_threshold: 0.5 + min_area: 10 + asm_method: + init_method: skeleton + data_level: 0.5 + loss_params: + coefs: + step_thresholds: + - 0 + - 100 + - 200 + - 300 + data: + - 1.0 + - 0.1 + - 0.0 + - 0.0 + crossfield: + - 0.0 + - 0.05 + - 0.0 + - 0.0 + length: + - 0.1 + - 0.01 + - 0.0 + - 0.0 + curvature: + - 0.0 + - 0.0 + - 1.0 + - 0.0 + corner: + - 0.0 + - 0.0 + - 0.5 + - 0.0 + junction: + - 0.0 + - 0.0 + - 0.5 + - 0.0 + curvature_dissimilarity_threshold: 2 + corner_angles: + - 45 + - 90 + - 135 + corner_angle_threshold: 22.5 + junction_angles: + - 0 + - 45 + - 90 + - 135 + junction_angle_weights: + - 1 + - 0.01 + - 0.1 + - 0.01 + junction_angle_threshold: 22.5 + lr: 0.1 + gamma: 0.995 + device: cuda + tolerance: + - 1 + seg_threshold: 0.5 + min_area: 10 + acm_method: + steps: 500 + data_level: 0.5 + data_coef: 0.1 + length_coef: 0.4 + crossfield_coef: 0.5 + poly_lr: 0.01 + warmup_iters: 100 + warmup_factor: 0.1 + device: cuda + tolerance: + - 1 + seg_threshold: 0.5 + min_area: 10 +dataset: + name: lidarpoly + size: ${..experiment.encoder.in_size} + path: ${host.data_root}/${.name}/${.size} + annotations: + train: ${..path}/annotations_${...country}_train.json + val: ${..path}/annotations_${...country}_val.json + test: ${..path}/annotations_${...country}_test.json + train_subset: ${..run_type.train_subset} + val_subset: ${..run_type.val_subset} + test_subset: ${..run_type.test_subset} + augmentations: + - D4 +experiment: + encoder: + name: pointpillars_vit_cnn + use_images: false + use_lidar: true + in_size: 224 + in_height: ${.in_size} + in_width: ${.in_size} + in_voxel_size: + x: 8 + 'y': 8 + z: 100 + max_num_points_per_voxel: 64 + max_num_voxels: + train: 784 + test: 784 + out_feature_size: ${..model.decoder.in_feature_size} + out_feature_height: ${.out_feature_size} + out_feature_width: ${.out_feature_size} + out_feature_dim: ${..model.decoder.in_feature_dim} + vit: + type: vit_small_patch${..patch_size}_${..in_size}.dino + checkpoint_file: ${....host.data_root}/checkpoints/backbones/dino_deitsmall8_pretrain.pth + pretrained: true + patch_size: 8 + patch_feature_size: 28 + patch_feature_height: ${.patch_feature_size} + patch_feature_width: ${.patch_feature_size} + patch_feature_dim: 384 + augmentations: + - D4 + model: + name: ffl + compute_seg: true + compute_crossfield: true + seg: + compute_interior: true + compute_edge: false + compute_vertex: false + decoder: + in_feature_size: ${...encoder.in_size} + in_feature_width: ${.in_feature_size} + in_feature_height: ${.in_feature_size} + in_feature_dim: ${if:${eq:${.in_feature_size},512}, 32, 256} + point_pillars: + out_channels: + - ${...decoder.in_feature_dim} + - ${...decoder.in_feature_dim} + - ${...decoder.in_feature_dim}] + upsample_strides: + - 4 + - 8 + - 16 + loss: + multi: + epoch_thresholds: + - 0 + - 5 + - 10 + weights: + seg: 1 + crossfield_align: 1 + crossfield_align90: 0.5 + crossfield_smooth: 0.005 + seg_interior_crossfield: + - 0 + - 0 + - 0.2 + seg_edge_crossfield: + - 0 + - 0 + - 0.2 + seg_edge_interior: + - 0 + - 0 + - 0.2 + seg: + bce_coef: 1.0 + dice_coef: 0.2 + use_freq: false + use_dist: false + use_size: false + w0: 50 + sigma: 10 + type: bool + batch_size: ${...run_type.batch_size} + start_epoch: 0 + num_epochs: 200 + milestone: 0 + learning_rate: 0.0001 + weight_decay: 0.0 + gamma: 0.95 + eval: + patch_size: null + patch_overlap: 200 + seg_threshold: 0.5 + name: v5_lidar_bs2x16_mnv64 + group_name: v2_${.model.name} +output_dir: ${.host.data_root}/${.experiment.model.name}_outputs/${.dataset.name}/${.experiment.encoder.in_size}/${.experiment.name} +checkpoint: null +checkpoint_file: null +save_best: true +save_latest: true +save_every: 10 +val_every: 1 +best_val_loss: 10000000.0 +best_val_iou: 0.0 +multi_gpu: true +device: cuda +log_to_wandb: true +num_workers: ${.run_type.num_workers} +update_pbar_every: ${.host.update_pbar_every} +country: Switzerland +use_lidar: ${.experiment.encoder.use_lidar} +use_images: ${.experiment.encoder.use_images} +eval: + split: val + pred_file: ${..output_dir}/predictions/${..checkpoint}.json + modes: + - iou + eval_file: results/metrics diff --git a/ffl/224/v5_lidar_bs2x16_mnv64/.hydra/hydra.yaml b/ffl/224/v5_lidar_bs2x16_mnv64/.hydra/hydra.yaml new file mode 100644 index 0000000000000000000000000000000000000000..6d76d2fad5b3335daa4d4d7fa55d5d1f71868514 --- /dev/null +++ b/ffl/224/v5_lidar_bs2x16_mnv64/.hydra/hydra.yaml @@ -0,0 +1,167 @@ +hydra: + run: + dir: ${...output_dir} + sweep: + dir: multirun/${now:%Y-%m-%d}/${now:%H-%M-%S} + subdir: ${hydra.job.num} + launcher: + _target_: hydra._internal.core_plugins.basic_launcher.BasicLauncher + sweeper: + _target_: hydra._internal.core_plugins.basic_sweeper.BasicSweeper + max_batch_size: null + params: null + help: + app_name: ${hydra.job.name} + header: '${hydra.help.app_name} is powered by Hydra. + + ' + footer: 'Powered by Hydra (https://hydra.cc) + + Use --hydra-help to view Hydra specific help + + ' + template: '${hydra.help.header} + + == Configuration groups == + + Compose your configuration from those groups (group=option) + + + $APP_CONFIG_GROUPS + + + == Config == + + Override anything in the config (foo.bar=value) + + + $CONFIG + + + ${hydra.help.footer} + + ' + hydra_help: + template: 'Hydra (${hydra.runtime.version}) + + See https://hydra.cc for more info. + + + == Flags == + + $FLAGS_HELP + + + == Configuration groups == + + Compose your configuration from those groups (For example, append hydra/job_logging=disabled + to command line) + + + $HYDRA_CONFIG_GROUPS + + + Use ''--cfg hydra'' to Show the Hydra config. + + ' + hydra_help: ??? + hydra_logging: + version: 1 + formatters: + simple: + format: '[%(asctime)s][HYDRA] %(message)s' + handlers: + console: + class: logging.StreamHandler + formatter: simple + stream: ext://sys.stdout + root: + level: INFO + handlers: + - console + loggers: + logging_example: + level: DEBUG + disable_existing_loggers: false + job_logging: + version: 1 + formatters: + simple: + format: '[%(asctime)s][%(name)s][%(levelname)s] - %(message)s' + handlers: + console: + class: logging.StreamHandler + formatter: simple + stream: ext://sys.stdout + file: + class: logging.FileHandler + formatter: simple + filename: ${hydra.runtime.output_dir}/${hydra.job.name}.log + root: + level: INFO + handlers: + - console + - file + disable_existing_loggers: false + env: {} + mode: RUN + searchpath: [] + callbacks: {} + output_subdir: .hydra + overrides: + hydra: + - hydra.mode=RUN + task: + - log_to_wandb=true + - host=g5k + - run_type=release + - multi_gpu=true + - checkpoint=null + - experiment=lidar_density_ablation64 + job: + name: train + chdir: null + override_dirname: checkpoint=null,experiment=lidar_density_ablation64,host=g5k,log_to_wandb=true,multi_gpu=true,run_type=release + id: ??? + num: ??? + config_name: config + env_set: {} + env_copy: [] + config: + override_dirname: + kv_sep: '=' + item_sep: ',' + exclude_keys: [] + runtime: + version: 1.3.2 + version_base: '1.3' + cwd: /home/rsulzer/python/PixelsPointsPolygons + config_sources: + - path: hydra.conf + schema: pkg + provider: hydra + - path: /home/rsulzer/python/PixelsPointsPolygons/config + schema: file + provider: main + - path: '' + schema: structured + provider: schema + output_dir: /home/rsulzer/data/ffl_outputs/lidarpoly/224/v5_lidar_bs2x16_mnv64 + choices: + experiment: lidar_density_ablation64 + model@experiment.model: ffl + encoder@experiment.encoder: pointpillars_vit_cnn + dataset: lidarpoly + polygonization: asm_acm + run_type: release + host: g5k + hydra/env: default + hydra/callbacks: null + hydra/job_logging: default + hydra/hydra_logging: default + hydra/hydra_help: default + hydra/help: default + hydra/sweeper: basic + hydra/launcher: basic + hydra/output: default + verbose: false diff --git a/ffl/224/v5_lidar_bs2x16_mnv64/.hydra/overrides.yaml b/ffl/224/v5_lidar_bs2x16_mnv64/.hydra/overrides.yaml new file mode 100644 index 0000000000000000000000000000000000000000..ea253f0088375eef311ced5c4f00d70b360a0511 --- /dev/null +++ b/ffl/224/v5_lidar_bs2x16_mnv64/.hydra/overrides.yaml @@ -0,0 +1,6 @@ +- log_to_wandb=true +- host=g5k +- run_type=release +- multi_gpu=true +- checkpoint=null +- experiment=lidar_density_ablation64 diff --git a/ffl/224/v5_lidar_bs2x16_mnv64/checkpoints/best_val_iou.pth b/ffl/224/v5_lidar_bs2x16_mnv64/checkpoints/best_val_iou.pth new file mode 100644 index 0000000000000000000000000000000000000000..80821b0e2c774f291f6a43ae8f9952ce94f3847c --- /dev/null +++ b/ffl/224/v5_lidar_bs2x16_mnv64/checkpoints/best_val_iou.pth @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:00d7ad1eeb9df54c292e0cd5c7c618cd80cf8bb81674e8de979513bbabbc0215 +size 284579947 diff --git a/ffl/224/v5_lidar_bs2x16_mnv64/predictions/best_val_iou.json b/ffl/224/v5_lidar_bs2x16_mnv64/predictions/best_val_iou.json new file mode 100644 index 0000000000000000000000000000000000000000..e1a09f69f7d4dd95fdd991dec7085003f08de2bb --- /dev/null +++ b/ffl/224/v5_lidar_bs2x16_mnv64/predictions/best_val_iou.json @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d8dd8910b05154fd119c0f2cbe8f161a72b733a2b989077770b8a2b0bd97d5e8 +size 435937 diff --git a/ffl/224/v5_lidar_bs2x16_mnv64/predictions_Switzerland_test/acm.tol_1/best_val_iou.json b/ffl/224/v5_lidar_bs2x16_mnv64/predictions_Switzerland_test/acm.tol_1/best_val_iou.json new file mode 100644 index 0000000000000000000000000000000000000000..7265584bef332b116458635e5887ba125ecca9c2 --- /dev/null +++ b/ffl/224/v5_lidar_bs2x16_mnv64/predictions_Switzerland_test/acm.tol_1/best_val_iou.json @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4a20f27696fd9bb532c366bbeb1d27df4d837f9eea6428bce0e4e68d881e13d0 +size 6103532 diff --git a/ffl/224/v5_lidar_bs2x16_mnv64/predictions_Switzerland_test/best_val_iou.json b/ffl/224/v5_lidar_bs2x16_mnv64/predictions_Switzerland_test/best_val_iou.json new file mode 100644 index 0000000000000000000000000000000000000000..7265584bef332b116458635e5887ba125ecca9c2 --- /dev/null +++ b/ffl/224/v5_lidar_bs2x16_mnv64/predictions_Switzerland_test/best_val_iou.json @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4a20f27696fd9bb532c366bbeb1d27df4d837f9eea6428bce0e4e68d881e13d0 +size 6103532 diff --git a/ffl/224/v5_lidar_bs2x16_mnv64/predictions_Switzerland_val/acm.tol_1/best_val_iou.json b/ffl/224/v5_lidar_bs2x16_mnv64/predictions_Switzerland_val/acm.tol_1/best_val_iou.json new file mode 100644 index 0000000000000000000000000000000000000000..414053ba1923cb89801dc437be0facc72d6e35e1 --- /dev/null +++ b/ffl/224/v5_lidar_bs2x16_mnv64/predictions_Switzerland_val/acm.tol_1/best_val_iou.json @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5946158dc21ad8e3c013c539943ab9db475a9f050fd0ae4b5de2552d9d2a3b73 +size 435289 diff --git a/ffl/224/v5_lidar_bs2x16_mnv64/predictions_Switzerland_val/best_val_iou.json b/ffl/224/v5_lidar_bs2x16_mnv64/predictions_Switzerland_val/best_val_iou.json new file mode 100644 index 0000000000000000000000000000000000000000..414053ba1923cb89801dc437be0facc72d6e35e1 --- /dev/null +++ b/ffl/224/v5_lidar_bs2x16_mnv64/predictions_Switzerland_val/best_val_iou.json @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5946158dc21ad8e3c013c539943ab9db475a9f050fd0ae4b5de2552d9d2a3b73 +size 435289 diff --git a/ffl/224/v5_lidar_bs2x16_mnv8/.hydra/config.yaml b/ffl/224/v5_lidar_bs2x16_mnv8/.hydra/config.yaml new file mode 100644 index 0000000000000000000000000000000000000000..8b55a33c57dfcfec33a3f17da9420b60fa3f2e74 --- /dev/null +++ b/ffl/224/v5_lidar_bs2x16_mnv8/.hydra/config.yaml @@ -0,0 +1,238 @@ +host: + name: g5k + data_root: /home/rsulzer/data + update_pbar_every: 60 +run_type: + name: release + batch_size: 16 + train_subset: null + val_subset: null + test_subset: null + logging: INFO + num_workers: 16 + log_to_wandb: true +polygonization: + method: + - acm + common_params: + init_data_level: 0.5 + simple_method: + data_level: 0.5 + tolerance: + - 1.0 + seg_threshold: 0.5 + min_area: 10 + asm_method: + init_method: skeleton + data_level: 0.5 + loss_params: + coefs: + step_thresholds: + - 0 + - 100 + - 200 + - 300 + data: + - 1.0 + - 0.1 + - 0.0 + - 0.0 + crossfield: + - 0.0 + - 0.05 + - 0.0 + - 0.0 + length: + - 0.1 + - 0.01 + - 0.0 + - 0.0 + curvature: + - 0.0 + - 0.0 + - 1.0 + - 0.0 + corner: + - 0.0 + - 0.0 + - 0.5 + - 0.0 + junction: + - 0.0 + - 0.0 + - 0.5 + - 0.0 + curvature_dissimilarity_threshold: 2 + corner_angles: + - 45 + - 90 + - 135 + corner_angle_threshold: 22.5 + junction_angles: + - 0 + - 45 + - 90 + - 135 + junction_angle_weights: + - 1 + - 0.01 + - 0.1 + - 0.01 + junction_angle_threshold: 22.5 + lr: 0.1 + gamma: 0.995 + device: cuda + tolerance: + - 1 + seg_threshold: 0.5 + min_area: 10 + acm_method: + steps: 500 + data_level: 0.5 + data_coef: 0.1 + length_coef: 0.4 + crossfield_coef: 0.5 + poly_lr: 0.01 + warmup_iters: 100 + warmup_factor: 0.1 + device: cuda + tolerance: + - 1 + seg_threshold: 0.5 + min_area: 10 +dataset: + name: lidarpoly + size: ${..experiment.encoder.in_size} + path: ${host.data_root}/${.name}/${.size} + annotations: + train: ${..path}/annotations_${...country}_train.json + val: ${..path}/annotations_${...country}_val.json + test: ${..path}/annotations_${...country}_test.json + ffl_stats: + train: ${..path}/ffl/train/stats-${...country}.pt + val: ${..path}/ffl/val/stats-${...country}.pt + test: ${..path}/ffl/test/stats-${...country}.pt + train_subset: ${..run_type.train_subset} + val_subset: ${..run_type.val_subset} + test_subset: ${..run_type.test_subset} +experiment: + encoder: + name: pointpillars_vit_cnn + use_images: false + use_lidar: true + in_size: 224 + in_height: ${.in_size} + in_width: ${.in_size} + in_voxel_size: + x: 8 + 'y': 8 + z: 100 + max_num_points_per_voxel: 8 + max_num_voxels: + train: 784 + test: 784 + out_feature_size: ${..model.decoder.in_feature_size} + out_feature_height: ${.out_feature_size} + out_feature_width: ${.out_feature_size} + out_feature_dim: ${..model.decoder.in_feature_dim} + vit: + type: vit_small_patch${..patch_size}_${..in_size}.dino + checkpoint_file: ${....host.data_root}/checkpoints/backbones/dino_deitsmall8_pretrain.pth + pretrained: true + patch_size: 8 + patch_feature_size: 28 + patch_feature_height: ${.patch_feature_size} + patch_feature_width: ${.patch_feature_size} + patch_feature_dim: 384 + augmentations: + - D4 + model: + name: ffl + compute_seg: true + compute_crossfield: true + seg: + compute_interior: true + compute_edge: false + compute_vertex: false + decoder: + in_feature_size: ${...encoder.in_size} + in_feature_width: ${.in_feature_size} + in_feature_height: ${.in_feature_size} + in_feature_dim: ${if:${eq:${.in_feature_size},512}, 32, 256} + point_pillars: + out_channels: + - ${...decoder.in_feature_dim} + - ${...decoder.in_feature_dim} + - ${...decoder.in_feature_dim}] + upsample_strides: + - 4 + - 8 + - 16 + loss: + multi: + epoch_thresholds: + - 0 + - 5 + - 10 + weights: + seg: 1 + crossfield_align: 1 + crossfield_align90: 0.5 + crossfield_smooth: 0.005 + seg_interior_crossfield: + - 0 + - 0 + - 0.2 + seg_edge_crossfield: + - 0 + - 0 + - 0.2 + seg_edge_interior: + - 0 + - 0 + - 0.2 + seg: + bce_coef: 1.0 + dice_coef: 0.2 + use_freq: false + use_dist: false + use_size: false + w0: 50 + sigma: 10 + type: bool + batch_size: ${...run_type.batch_size} + start_epoch: 0 + num_epochs: 200 + milestone: 0 + learning_rate: 0.0001 + weight_decay: 0.0 + gamma: 0.95 + eval: + patch_size: null + patch_overlap: 200 + seg_threshold: 0.5 + name: v5_lidar_bs2x16_mnv8 + group_name: v2_${.model.name} +output_dir: ${.host.data_root}/${.experiment.model.name}_outputs/${.dataset.name}/${.experiment.encoder.in_size}/${.experiment.name} +checkpoint: latest +checkpoint_file: null +save_best: true +save_latest: true +save_every: 10 +val_every: 1 +best_val_loss: 10000000.0 +best_val_iou: 0.0 +multi_gpu: true +device: cuda +log_to_wandb: true +num_workers: ${.run_type.num_workers} +update_pbar_every: ${.host.update_pbar_every} +country: Switzerland +use_lidar: ${.experiment.encoder.use_lidar} +use_images: ${.experiment.encoder.use_images} +eval: + split: val + pred_file: ${..output_dir}/predictions_${..country}_${.split}/${..checkpoint}.json + modes: + - iou + eval_file: results/metrics diff --git a/ffl/224/v5_lidar_bs2x16_mnv8/.hydra/hydra.yaml b/ffl/224/v5_lidar_bs2x16_mnv8/.hydra/hydra.yaml new file mode 100644 index 0000000000000000000000000000000000000000..b14e24be129d5a1deaa357fa781b11ee57e7684b --- /dev/null +++ b/ffl/224/v5_lidar_bs2x16_mnv8/.hydra/hydra.yaml @@ -0,0 +1,168 @@ +hydra: + run: + dir: ${...output_dir} + sweep: + dir: multirun/${now:%Y-%m-%d}/${now:%H-%M-%S} + subdir: ${hydra.job.num} + launcher: + _target_: hydra._internal.core_plugins.basic_launcher.BasicLauncher + sweeper: + _target_: hydra._internal.core_plugins.basic_sweeper.BasicSweeper + max_batch_size: null + params: null + help: + app_name: ${hydra.job.name} + header: '${hydra.help.app_name} is powered by Hydra. + + ' + footer: 'Powered by Hydra (https://hydra.cc) + + Use --hydra-help to view Hydra specific help + + ' + template: '${hydra.help.header} + + == Configuration groups == + + Compose your configuration from those groups (group=option) + + + $APP_CONFIG_GROUPS + + + == Config == + + Override anything in the config (foo.bar=value) + + + $CONFIG + + + ${hydra.help.footer} + + ' + hydra_help: + template: 'Hydra (${hydra.runtime.version}) + + See https://hydra.cc for more info. + + + == Flags == + + $FLAGS_HELP + + + == Configuration groups == + + Compose your configuration from those groups (For example, append hydra/job_logging=disabled + to command line) + + + $HYDRA_CONFIG_GROUPS + + + Use ''--cfg hydra'' to Show the Hydra config. + + ' + hydra_help: ??? + hydra_logging: + version: 1 + formatters: + simple: + format: '[%(asctime)s][HYDRA] %(message)s' + handlers: + console: + class: logging.StreamHandler + formatter: simple + stream: ext://sys.stdout + root: + level: INFO + handlers: + - console + loggers: + logging_example: + level: DEBUG + disable_existing_loggers: false + job_logging: + version: 1 + formatters: + simple: + format: '[%(asctime)s][%(name)s][%(levelname)s] - %(message)s' + handlers: + console: + class: logging.StreamHandler + formatter: simple + stream: ext://sys.stdout + file: + class: logging.FileHandler + formatter: simple + filename: ${hydra.runtime.output_dir}/${hydra.job.name}.log + root: + level: INFO + handlers: + - console + - file + disable_existing_loggers: false + env: {} + mode: RUN + searchpath: [] + callbacks: {} + output_subdir: .hydra + overrides: + hydra: + - hydra.mode=RUN + task: + - log_to_wandb=true + - host=g5k + - run_type=release + - multi_gpu=true + - checkpoint=null + - experiment=lidar_density_ablation8 + - checkpoint=latest + job: + name: train + chdir: null + override_dirname: checkpoint=latest,checkpoint=null,experiment=lidar_density_ablation8,host=g5k,log_to_wandb=true,multi_gpu=true,run_type=release + id: ??? + num: ??? + config_name: config + env_set: {} + env_copy: [] + config: + override_dirname: + kv_sep: '=' + item_sep: ',' + exclude_keys: [] + runtime: + version: 1.3.2 + version_base: '1.3' + cwd: /home/rsulzer/python/PixelsPointsPolygons + config_sources: + - path: hydra.conf + schema: pkg + provider: hydra + - path: /home/rsulzer/python/PixelsPointsPolygons/config + schema: file + provider: main + - path: '' + schema: structured + provider: schema + output_dir: /home/rsulzer/data/ffl_outputs/lidarpoly/224/v5_lidar_bs2x16_mnv8 + choices: + experiment: lidar_density_ablation8 + model@experiment.model: ffl + encoder@experiment.encoder: pointpillars_vit_cnn + dataset: lidarpoly + polygonization: asm_acm + run_type: release + host: g5k + hydra/env: default + hydra/callbacks: null + hydra/job_logging: default + hydra/hydra_logging: default + hydra/hydra_help: default + hydra/help: default + hydra/sweeper: basic + hydra/launcher: basic + hydra/output: default + verbose: false diff --git a/ffl/224/v5_lidar_bs2x16_mnv8/.hydra/overrides.yaml b/ffl/224/v5_lidar_bs2x16_mnv8/.hydra/overrides.yaml new file mode 100644 index 0000000000000000000000000000000000000000..d3d3df3bb37edfad5eeb444c1fe330120c2628df --- /dev/null +++ b/ffl/224/v5_lidar_bs2x16_mnv8/.hydra/overrides.yaml @@ -0,0 +1,7 @@ +- log_to_wandb=true +- host=g5k +- run_type=release +- multi_gpu=true +- checkpoint=null +- experiment=lidar_density_ablation8 +- checkpoint=latest diff --git a/ffl/224/v5_lidar_bs2x16_mnv8/checkpoints/best_val_iou.pth b/ffl/224/v5_lidar_bs2x16_mnv8/checkpoints/best_val_iou.pth new file mode 100644 index 0000000000000000000000000000000000000000..b33aea530f2d1b7a6965369bda2a6f0bec3005db --- /dev/null +++ b/ffl/224/v5_lidar_bs2x16_mnv8/checkpoints/best_val_iou.pth @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:96bfd253d4f6c5a0d6b9fbea33a50c348d7a9f88f853832862d2442a424e98e3 +size 284579947 diff --git a/ffl/224/v5_lidar_bs2x16_mnv8/predictions/best_val_iou.json b/ffl/224/v5_lidar_bs2x16_mnv8/predictions/best_val_iou.json new file mode 100644 index 0000000000000000000000000000000000000000..6c78f36050499f1e87629727c73d52f2b016bbdf --- /dev/null +++ b/ffl/224/v5_lidar_bs2x16_mnv8/predictions/best_val_iou.json @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f8939d3bd46fd8b5ae3974db1472e277dd262c221079c02e05fb3a9fce7bf16c +size 467276 diff --git a/ffl/224/v5_lidar_bs2x16_mnv8/predictions_Switzerland_test/acm.tol_1/best_val_iou.json b/ffl/224/v5_lidar_bs2x16_mnv8/predictions_Switzerland_test/acm.tol_1/best_val_iou.json new file mode 100644 index 0000000000000000000000000000000000000000..d0ea5fb2ed074907fbbe03534bdc2580b7588fcb --- /dev/null +++ b/ffl/224/v5_lidar_bs2x16_mnv8/predictions_Switzerland_test/acm.tol_1/best_val_iou.json @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:58e440bed1711dde539c77f8b708d81237fca9a54c668c44b37a1c26a93f1e13 +size 7082774 diff --git a/ffl/224/v5_lidar_bs2x16_mnv8/predictions_Switzerland_test/best_val_iou.json b/ffl/224/v5_lidar_bs2x16_mnv8/predictions_Switzerland_test/best_val_iou.json new file mode 100644 index 0000000000000000000000000000000000000000..d0ea5fb2ed074907fbbe03534bdc2580b7588fcb --- /dev/null +++ b/ffl/224/v5_lidar_bs2x16_mnv8/predictions_Switzerland_test/best_val_iou.json @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:58e440bed1711dde539c77f8b708d81237fca9a54c668c44b37a1c26a93f1e13 +size 7082774 diff --git a/ffl/224/v5_lidar_bs2x16_mnv8/predictions_Switzerland_val/acm.tol_1/best_val_iou.json b/ffl/224/v5_lidar_bs2x16_mnv8/predictions_Switzerland_val/acm.tol_1/best_val_iou.json new file mode 100644 index 0000000000000000000000000000000000000000..0fd627e231a3e31b505c070406d2e05694f3011f --- /dev/null +++ b/ffl/224/v5_lidar_bs2x16_mnv8/predictions_Switzerland_val/acm.tol_1/best_val_iou.json @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:da502e2657ff600f56a23934d1998be668a90e0891e8dffbc129814e0e30f1ff +size 35953 diff --git a/ffl/224/v5_lidar_bs2x16_mnv8/predictions_Switzerland_val/best_val_iou.json b/ffl/224/v5_lidar_bs2x16_mnv8/predictions_Switzerland_val/best_val_iou.json new file mode 100644 index 0000000000000000000000000000000000000000..0fd627e231a3e31b505c070406d2e05694f3011f --- /dev/null +++ b/ffl/224/v5_lidar_bs2x16_mnv8/predictions_Switzerland_val/best_val_iou.json @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:da502e2657ff600f56a23934d1998be668a90e0891e8dffbc129814e0e30f1ff +size 35953 diff --git a/hisup/224/early_fusion_vit_cnn_bs2x16_mnv64/.hydra/config.yaml b/hisup/224/early_fusion_vit_cnn_bs2x16_mnv64/.hydra/config.yaml new file mode 100644 index 0000000000000000000000000000000000000000..30b61713f19af7b8816cabcb6956e28327dd0376 --- /dev/null +++ b/hisup/224/early_fusion_vit_cnn_bs2x16_mnv64/.hydra/config.yaml @@ -0,0 +1,218 @@ +host: + name: gin + data_root: /data/rsulzer + update_pbar_every: 1 +run_type: + name: release + batch_size: 16 + train_subset: null + val_subset: null + test_subset: null + logging: INFO + num_workers: 16 + log_to_wandb: true +polygonization: + method: + - acm + common_params: + init_data_level: 0.5 + simple_method: + data_level: 0.5 + tolerance: + - 1.0 + seg_threshold: 0.5 + min_area: 10 + asm_method: + init_method: skeleton + data_level: 0.5 + loss_params: + coefs: + step_thresholds: + - 0 + - 100 + - 200 + - 300 + data: + - 1.0 + - 0.1 + - 0.0 + - 0.0 + crossfield: + - 0.0 + - 0.05 + - 0.0 + - 0.0 + length: + - 0.1 + - 0.01 + - 0.0 + - 0.0 + curvature: + - 0.0 + - 0.0 + - 1.0 + - 0.0 + corner: + - 0.0 + - 0.0 + - 0.5 + - 0.0 + junction: + - 0.0 + - 0.0 + - 0.5 + - 0.0 + curvature_dissimilarity_threshold: 2 + corner_angles: + - 45 + - 90 + - 135 + corner_angle_threshold: 22.5 + junction_angles: + - 0 + - 45 + - 90 + - 135 + junction_angle_weights: + - 1 + - 0.01 + - 0.1 + - 0.01 + junction_angle_threshold: 22.5 + lr: 0.1 + gamma: 0.995 + device: cuda + tolerance: + - 1 + seg_threshold: 0.5 + min_area: 10 + acm_method: + steps: 500 + data_level: 0.5 + data_coef: 0.1 + length_coef: 0.4 + crossfield_coef: 0.5 + poly_lr: 0.01 + warmup_iters: 100 + warmup_factor: 0.1 + device: cuda + tolerance: + - 1 + seg_threshold: 0.5 + min_area: 10 +dataset: + name: p3 + size: ${..experiment.encoder.in_size} + path: ${host.data_root}/PixelsPointsPolygons/data/${.size} + annotations: + train: ${..path}/annotations_${...country}_train.json + val: ${..path}/annotations_${...country}_val.json + test: ${..path}/annotations_${...country}_test.json + ffl_stats: + train: ${..path}/ffl/train/stats-${...country}.pt + val: ${..path}/ffl/val/stats-${...country}.pt + test: ${..path}/ffl/test/stats-${...country}.pt + train_subset: ${..run_type.train_subset} + val_subset: ${..run_type.val_subset} + test_subset: ${..run_type.test_subset} +experiment: + encoder: + name: early_fusion_vit_cnn + use_images: true + use_lidar: true + in_size: 224 + in_height: ${.in_size} + in_width: ${.in_size} + in_voxel_size: + x: 8 + 'y': 8 + z: 100 + max_num_points_per_voxel: 64 + max_num_voxels: + train: 784 + test: 784 + out_feature_size: ${..model.decoder.in_feature_size} + out_feature_height: ${.out_feature_size} + out_feature_width: ${.out_feature_size} + out_feature_dim: ${..model.decoder.in_feature_dim} + vit: + type: vit_small_patch${..patch_size}_${..in_size}.dino + checkpoint_file: ${....host.data_root}/checkpoints/backbones/dino_deitsmall8_pretrain.pth + pretrained: true + patch_size: 8 + patch_feature_size: 28 + patch_feature_height: ${.patch_feature_size} + patch_feature_width: ${.patch_feature_size} + patch_feature_dim: 384 + image_mean: + - 0.0 + - 0.0 + - 0.0 + image_std: + - 1.0 + - 1.0 + - 1.0 + image_max_pixel_value: 255.0 + augmentations: + - D4 + - ColorJitter + - GaussNoise + - Normalize + model: + name: hisup + decoder: + in_feature_size: 224 + in_feature_width: ${.in_feature_size} + in_feature_height: ${.in_feature_size} + in_feature_dim: 256 + point_pillars: + out_channels: + - 128 + - 128 + - 128 + upsample_strides: + - 1 + - 2 + - 4 + batch_size: ${...run_type.batch_size} + start_epoch: 0 + num_epochs: 200 + milestone: 0 + learning_rate: 0.0001 + weight_decay: 0.0001 + loss_weights: + loss_joff: 0.25 + loss_jloc: 8.0 + loss_mask: 1.0 + loss_afm: 0.1 + loss_remask: 1.0 + name: early_fusion_vit_cnn_bs2x16_mnv64 + group_name: v2_${.model.name} +output_dir: ${.host.data_root}/${.experiment.model.name}_outputs/${.dataset.name}/${.experiment.encoder.in_size}/${.experiment.name} +checkpoint: best_val_iou +checkpoint_file: null +save_best: true +save_latest: true +save_every: 10 +val_every: 1 +best_val_loss: 10000000.0 +best_val_iou: 0.0 +multi_gpu: false +device: cuda +log_to_wandb: false +num_workers: ${.run_type.num_workers} +update_pbar_every: ${.host.update_pbar_every} +country: CH +use_lidar: ${.experiment.encoder.use_lidar} +use_images: ${.experiment.encoder.use_images} +eval: + split: val + pred_file: ${..output_dir}/predictions_${..country}_${.split}/${..checkpoint}.json + modes: + - ldof + - coco + - iou + - polis + - mta + eval_file: results/metrics + ldof_exe: /user/rsulzer/home/cpp/line-DOF-metric/build/calculate_DoF diff --git a/hisup/224/early_fusion_vit_cnn_bs2x16_mnv64/.hydra/hydra.yaml b/hisup/224/early_fusion_vit_cnn_bs2x16_mnv64/.hydra/hydra.yaml new file mode 100644 index 0000000000000000000000000000000000000000..c62fe4176e366052ae60f36aa49b317307025183 --- /dev/null +++ b/hisup/224/early_fusion_vit_cnn_bs2x16_mnv64/.hydra/hydra.yaml @@ -0,0 +1,170 @@ +hydra: + run: + dir: ${...output_dir} + sweep: + dir: multirun/${now:%Y-%m-%d}/${now:%H-%M-%S} + subdir: ${hydra.job.num} + launcher: + _target_: hydra._internal.core_plugins.basic_launcher.BasicLauncher + sweeper: + _target_: hydra._internal.core_plugins.basic_sweeper.BasicSweeper + max_batch_size: null + params: null + help: + app_name: ${hydra.job.name} + header: '${hydra.help.app_name} is powered by Hydra. + + ' + footer: 'Powered by Hydra (https://hydra.cc) + + Use --hydra-help to view Hydra specific help + + ' + template: '${hydra.help.header} + + == Configuration groups == + + Compose your configuration from those groups (group=option) + + + $APP_CONFIG_GROUPS + + + == Config == + + Override anything in the config (foo.bar=value) + + + $CONFIG + + + ${hydra.help.footer} + + ' + hydra_help: + template: 'Hydra (${hydra.runtime.version}) + + See https://hydra.cc for more info. + + + == Flags == + + $FLAGS_HELP + + + == Configuration groups == + + Compose your configuration from those groups (For example, append hydra/job_logging=disabled + to command line) + + + $HYDRA_CONFIG_GROUPS + + + Use ''--cfg hydra'' to Show the Hydra config. + + ' + hydra_help: ??? + hydra_logging: + version: 1 + formatters: + simple: + format: '[%(asctime)s][HYDRA] %(message)s' + handlers: + console: + class: logging.StreamHandler + formatter: simple + stream: ext://sys.stdout + root: + level: INFO + handlers: + - console + loggers: + logging_example: + level: DEBUG + disable_existing_loggers: false + job_logging: + version: 1 + formatters: + simple: + format: '[%(asctime)s][%(name)s][%(levelname)s] - %(message)s' + handlers: + console: + class: logging.StreamHandler + formatter: simple + stream: ext://sys.stdout + file: + class: logging.FileHandler + formatter: simple + filename: ${hydra.runtime.output_dir}/${hydra.job.name}.log + root: + level: INFO + handlers: + - console + - file + disable_existing_loggers: false + env: {} + mode: RUN + searchpath: [] + callbacks: {} + output_subdir: .hydra + overrides: + hydra: + - hydra.mode=RUN + task: + - run_type=release + - host=gin + - device=cuda + - log_to_wandb=false + - multi_gpu=false + - checkpoint=best_val_iou + - eval.split=val + - experiment=hisup_fusion + - experiment.name=early_fusion_vit_cnn_bs2x16_mnv64 + job: + name: predict + chdir: null + override_dirname: checkpoint=best_val_iou,device=cuda,eval.split=val,experiment.name=early_fusion_vit_cnn_bs2x16_mnv64,experiment=hisup_fusion,host=gin,log_to_wandb=false,multi_gpu=false,run_type=release + id: ??? + num: ??? + config_name: config + env_set: {} + env_copy: [] + config: + override_dirname: + kv_sep: '=' + item_sep: ',' + exclude_keys: [] + runtime: + version: 1.3.2 + version_base: '1.3' + cwd: /run/netsop/u/home-sam/home/rsulzer/remote_python/pixelspointspolygons + config_sources: + - path: hydra.conf + schema: pkg + provider: hydra + - path: /run/netsop/u/home-sam/home/rsulzer/remote_python/pixelspointspolygons/config + schema: file + provider: main + - path: '' + schema: structured + provider: schema + output_dir: /data/rsulzer/hisup_outputs/p3/224/early_fusion_vit_cnn_bs2x16_mnv64 + choices: + experiment: hisup_fusion + model@experiment.model: hisup + encoder@experiment.encoder: early_fusion_vit_cnn + dataset: p3 + polygonization: asm_acm + run_type: release + host: gin + hydra/env: default + hydra/callbacks: null + hydra/job_logging: default + hydra/hydra_logging: default + hydra/hydra_help: default + hydra/help: default + hydra/sweeper: basic + hydra/launcher: basic + hydra/output: default + verbose: false diff --git a/hisup/224/early_fusion_vit_cnn_bs2x16_mnv64/.hydra/overrides.yaml b/hisup/224/early_fusion_vit_cnn_bs2x16_mnv64/.hydra/overrides.yaml new file mode 100644 index 0000000000000000000000000000000000000000..adf582931ffb5bf4cd4bb011c7bf6801598fbd96 --- /dev/null +++ b/hisup/224/early_fusion_vit_cnn_bs2x16_mnv64/.hydra/overrides.yaml @@ -0,0 +1,9 @@ +- run_type=release +- host=gin +- device=cuda +- log_to_wandb=false +- multi_gpu=false +- checkpoint=best_val_iou +- eval.split=val +- experiment=hisup_fusion +- experiment.name=early_fusion_vit_cnn_bs2x16_mnv64 diff --git a/hisup/224/early_fusion_vit_cnn_bs2x16_mnv64/checkpoints/best_val_iou.pth b/hisup/224/early_fusion_vit_cnn_bs2x16_mnv64/checkpoints/best_val_iou.pth new file mode 100644 index 0000000000000000000000000000000000000000..ccb882c9551abd7364f6d07c04087a71ea6a703f --- /dev/null +++ b/hisup/224/early_fusion_vit_cnn_bs2x16_mnv64/checkpoints/best_val_iou.pth @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:152c92cae7cdc5e0e77284fcbb1ff528e04e654c1e89ba8181e3ecc57d492711 +size 402376538 diff --git a/hisup/224/early_fusion_vit_cnn_bs2x16_mnv64/predictions/best_val_iou.json b/hisup/224/early_fusion_vit_cnn_bs2x16_mnv64/predictions/best_val_iou.json new file mode 100644 index 0000000000000000000000000000000000000000..5d0428d88b0b498f39339a89cd61b5784968274b --- /dev/null +++ b/hisup/224/early_fusion_vit_cnn_bs2x16_mnv64/predictions/best_val_iou.json @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ca6341b973f30f61eb6510aab786b8423c5a25803271eb8088706ac2ff4040bb +size 542397 diff --git a/hisup/224/early_fusion_vit_cnn_bs2x16_mnv64/predictions_CH_val/best_val_iou.json b/hisup/224/early_fusion_vit_cnn_bs2x16_mnv64/predictions_CH_val/best_val_iou.json new file mode 100644 index 0000000000000000000000000000000000000000..66430bb39061fffc6d6337237659f22de07fe015 --- /dev/null +++ b/hisup/224/early_fusion_vit_cnn_bs2x16_mnv64/predictions_CH_val/best_val_iou.json @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8401b1071f0d2d80ebcbd1da4966ae8b3364d8e7bc5bff85f7145ac2793b684c +size 541132 diff --git a/hisup/224/early_fusion_vit_cnn_bs2x16_mnv64/predictions_NY_val/best_val_iou.json b/hisup/224/early_fusion_vit_cnn_bs2x16_mnv64/predictions_NY_val/best_val_iou.json new file mode 100644 index 0000000000000000000000000000000000000000..c9c50eb1456dda760b72d727633c6be77a9b278b --- /dev/null +++ b/hisup/224/early_fusion_vit_cnn_bs2x16_mnv64/predictions_NY_val/best_val_iou.json @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cb11d42321f8a09dc490931b71ec96c2b0a14b7a23b8c04e4c818373eb17e8d0 +size 1111134 diff --git a/hisup/224/early_fusion_vit_cnn_bs2x16_mnv64/predictions_NZ_val/best_val_iou.json b/hisup/224/early_fusion_vit_cnn_bs2x16_mnv64/predictions_NZ_val/best_val_iou.json new file mode 100644 index 0000000000000000000000000000000000000000..b97e81ee438cfd188bdfa5372fbe5881c336d394 --- /dev/null +++ b/hisup/224/early_fusion_vit_cnn_bs2x16_mnv64/predictions_NZ_val/best_val_iou.json @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ac1e518b9a5834f01bea717db93cfb740181231e941acfd9cc6509b7e2f9378f +size 367413 diff --git a/hisup/224/early_fusion_vit_cnn_bs2x16_mnv64/predictions_Switzerland_test/best_val_iou.json b/hisup/224/early_fusion_vit_cnn_bs2x16_mnv64/predictions_Switzerland_test/best_val_iou.json new file mode 100644 index 0000000000000000000000000000000000000000..6006257b090b09d2145cc8728a57cff1d65eecf7 --- /dev/null +++ b/hisup/224/early_fusion_vit_cnn_bs2x16_mnv64/predictions_Switzerland_test/best_val_iou.json @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9b275f35fdc9481678637d3bb4ac0a2f7d19865197d23d1593eee420914fd49d +size 8608415 diff --git a/hisup/224/early_fusion_vit_cnn_bs2x16_mnv64/predictions_Switzerland_val/best_val_iou.json b/hisup/224/early_fusion_vit_cnn_bs2x16_mnv64/predictions_Switzerland_val/best_val_iou.json new file mode 100644 index 0000000000000000000000000000000000000000..66430bb39061fffc6d6337237659f22de07fe015 --- /dev/null +++ b/hisup/224/early_fusion_vit_cnn_bs2x16_mnv64/predictions_Switzerland_val/best_val_iou.json @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8401b1071f0d2d80ebcbd1da4966ae8b3364d8e7bc5bff85f7145ac2793b684c +size 541132 diff --git a/hisup/224/early_fusion_vit_cnn_bs2x16_mnv64/predictions_test/best_val_iou.json b/hisup/224/early_fusion_vit_cnn_bs2x16_mnv64/predictions_test/best_val_iou.json new file mode 100644 index 0000000000000000000000000000000000000000..6c04c7910ce6b7ee0d320b669951ae94ee4a54f0 --- /dev/null +++ b/hisup/224/early_fusion_vit_cnn_bs2x16_mnv64/predictions_test/best_val_iou.json @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ccdca62bab109347483ddd20742af4f6819e66ca9722950f526dcc303814718c +size 50334 diff --git a/hisup/224/early_fusion_vit_cnn_bs2x16_mnv64/predictions_val/best_val_iou.json b/hisup/224/early_fusion_vit_cnn_bs2x16_mnv64/predictions_val/best_val_iou.json new file mode 100644 index 0000000000000000000000000000000000000000..a213c3bda46a7891508234c5fdde9bda3c4804b1 --- /dev/null +++ b/hisup/224/early_fusion_vit_cnn_bs2x16_mnv64/predictions_val/best_val_iou.json @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0da6ab8ef302e10f5cd251c34cf255ff7b1a6895a477db5235392c55a5bda98f +size 1111272 diff --git a/hisup/224/lidar_pp_vit_cnn_bs2x16_mnv64/.hydra/config.yaml b/hisup/224/lidar_pp_vit_cnn_bs2x16_mnv64/.hydra/config.yaml new file mode 100644 index 0000000000000000000000000000000000000000..525aeffd976a50719975c2e7963a6c195b2a7bf2 --- /dev/null +++ b/hisup/224/lidar_pp_vit_cnn_bs2x16_mnv64/.hydra/config.yaml @@ -0,0 +1,211 @@ +encoder: + name: pointpillars_vit_cnn + use_images: false + use_lidar: true + in_size: 224 + in_height: ${.in_size} + in_width: ${.in_size} + in_voxel_size: + x: 8 + 'y': 8 + z: 100 + max_num_points_per_voxel: 64 + max_num_voxels: + train: 784 + test: 784 + out_feature_size: ${..model.decoder.in_feature_size} + out_feature_height: ${.out_feature_size} + out_feature_width: ${.out_feature_size} + out_feature_dim: ${..model.decoder.in_feature_dim} + vit: + type: vit_small_patch${..patch_size}_${..in_size}.dino + checkpoint_file: ${...host.data_root}/checkpoints/backbones/dino_deitsmall8_pretrain.pth + pretrained: true + patch_size: 8 + patch_feature_size: 28 + patch_feature_height: ${.patch_feature_size} + patch_feature_width: ${.patch_feature_size} + patch_feature_dim: 384 + augmentations: + - D4 +model: + name: hisup + decoder: + in_feature_size: 224 + in_feature_width: ${.in_feature_size} + in_feature_height: ${.in_feature_size} + in_feature_dim: 256 + point_pillars: + out_channels: + - 128 + - 128 + - 128 + upsample_strides: + - 1 + - 2 + - 4 + batch_size: 16 + start_epoch: 0 + num_epochs: 200 + milestone: 0 + learning_rate: 0.0001 + weight_decay: 0.0001 + loss_weights: + loss_joff: 0.25 + loss_jloc: 8.0 + loss_mask: 1.0 + loss_afm: 0.1 + loss_remask: 1.0 +polygonization: + method: + - acm + common_params: + init_data_level: 0.5 + simple_method: + data_level: 0.5 + tolerance: + - 1.0 + seg_threshold: 0.5 + min_area: 10 + asm_method: + init_method: skeleton + data_level: 0.5 + loss_params: + coefs: + step_thresholds: + - 0 + - 100 + - 200 + - 300 + data: + - 1.0 + - 0.1 + - 0.0 + - 0.0 + crossfield: + - 0.0 + - 0.05 + - 0.0 + - 0.0 + length: + - 0.1 + - 0.01 + - 0.0 + - 0.0 + curvature: + - 0.0 + - 0.0 + - 1.0 + - 0.0 + corner: + - 0.0 + - 0.0 + - 0.5 + - 0.0 + junction: + - 0.0 + - 0.0 + - 0.5 + - 0.0 + curvature_dissimilarity_threshold: 2 + corner_angles: + - 45 + - 90 + - 135 + corner_angle_threshold: 22.5 + junction_angles: + - 0 + - 45 + - 90 + - 135 + junction_angle_weights: + - 1 + - 0.01 + - 0.1 + - 0.01 + junction_angle_threshold: 22.5 + lr: 0.1 + gamma: 0.995 + device: cuda + tolerance: + - 1 + seg_threshold: 0.5 + min_area: 10 + acm_method: + steps: 500 + data_level: 0.5 + data_coef: 0.1 + length_coef: 0.4 + crossfield_coef: 0.5 + poly_lr: 0.01 + warmup_iters: 100 + warmup_factor: 0.1 + device: cuda + tolerance: + - 1 + seg_threshold: 0.5 + min_area: 10 +dataset: + name: lidarpoly + size: ${..encoder.in_size} + path: ${host.data_root}/${.name}/${.size} + annotations: + train: ${..path}/annotations_train.json + val: ${..path}/annotations_val.json + test: ${..path}/annotations_test.json + train_subset: ${..run_type.train_subset} + val_subset: ${..run_type.val_subset} + augmentations: + - D4 +run_type: + name: release + batch_size: 16 + train_subset: null + val_subset: null + logging: INFO + num_workers: 16 + log_to_wandb: true +host: + name: g5k + data_root: /home/rsulzer/data + update_pbar_every: 60 +output_dir: ${.host.data_root}/${.model.name}_outputs/${.dataset.name}/${.encoder.in_size}/${.experiment_name} +checkpoint: null +checkpoint_file: null +experiment_name: lidar_pp_vit_cnn_bs2x16_mnv64 +group_name: v2_${.model.name} +multi_gpu: true +device: cuda +log_to_wandb: true +num_workers: ${.run_type.num_workers} +update_pbar_every: ${.host.update_pbar_every} +use_lidar: ${.encoder.use_lidar} +use_images: ${.encoder.use_images} +save_best: true +save_latest: true +save_every: 10 +val_every: 1 +best_val_loss: 10000000.0 +best_val_iou: 0.0 +eval: + gt_file: ${..dataset.annotations.val} + pred_file: ${..output_dir}/predictions/${..checkpoint}.json + modes: + - iou + experiments: + - model: ffl + experiment_name: + - 224/v3_image_vit_cnn_bs4x16 + - 224/v3_lidar_pp_vit_cnn_bs2x16 + - 224/fusion_vit_cnn_bs16 + - model: hisup + experiment_name: + - 224/v3_image_hrnet224_bs4x16 + - 224/v3_lidar_pp_vit_cnn_bs2x16 + - 224/early_fusion_vit_cnn_bs16 + - model: pix2poly + experiment_name: + - 224/image_only_bs4x16 + - 224/lidar_only_bs2x16 + - 224/fusion_bs2x16 + eval_file: results/metrics diff --git a/hisup/224/lidar_pp_vit_cnn_bs2x16_mnv64/.hydra/hydra.yaml b/hisup/224/lidar_pp_vit_cnn_bs2x16_mnv64/.hydra/hydra.yaml new file mode 100644 index 0000000000000000000000000000000000000000..6c2b4f8c2f2a0bc4b0f2312459a471b1bd59a5ae --- /dev/null +++ b/hisup/224/lidar_pp_vit_cnn_bs2x16_mnv64/.hydra/hydra.yaml @@ -0,0 +1,169 @@ +hydra: + run: + dir: ${...output_dir} + sweep: + dir: multirun/${now:%Y-%m-%d}/${now:%H-%M-%S} + subdir: ${hydra.job.num} + launcher: + _target_: hydra._internal.core_plugins.basic_launcher.BasicLauncher + sweeper: + _target_: hydra._internal.core_plugins.basic_sweeper.BasicSweeper + max_batch_size: null + params: null + help: + app_name: ${hydra.job.name} + header: '${hydra.help.app_name} is powered by Hydra. + + ' + footer: 'Powered by Hydra (https://hydra.cc) + + Use --hydra-help to view Hydra specific help + + ' + template: '${hydra.help.header} + + == Configuration groups == + + Compose your configuration from those groups (group=option) + + + $APP_CONFIG_GROUPS + + + == Config == + + Override anything in the config (foo.bar=value) + + + $CONFIG + + + ${hydra.help.footer} + + ' + hydra_help: + template: 'Hydra (${hydra.runtime.version}) + + See https://hydra.cc for more info. + + + == Flags == + + $FLAGS_HELP + + + == Configuration groups == + + Compose your configuration from those groups (For example, append hydra/job_logging=disabled + to command line) + + + $HYDRA_CONFIG_GROUPS + + + Use ''--cfg hydra'' to Show the Hydra config. + + ' + hydra_help: ??? + hydra_logging: + version: 1 + formatters: + simple: + format: '[%(asctime)s][HYDRA] %(message)s' + handlers: + console: + class: logging.StreamHandler + formatter: simple + stream: ext://sys.stdout + root: + level: INFO + handlers: + - console + loggers: + logging_example: + level: DEBUG + disable_existing_loggers: false + job_logging: + version: 1 + formatters: + simple: + format: '[%(asctime)s][%(name)s][%(levelname)s] - %(message)s' + handlers: + console: + class: logging.StreamHandler + formatter: simple + stream: ext://sys.stdout + file: + class: logging.FileHandler + formatter: simple + filename: ${hydra.runtime.output_dir}/${hydra.job.name}.log + root: + level: INFO + handlers: + - console + - file + disable_existing_loggers: false + env: {} + mode: RUN + searchpath: [] + callbacks: {} + output_subdir: .hydra + overrides: + hydra: + - hydra.mode=RUN + task: + - log_to_wandb=true + - host=g5k + - run_type=release + - multi_gpu=true + - experiment_name=lidar_pp_vit_cnn_bs2x16_mnv64 + - checkpoint=null + - model.batch_size=16 + - encoder=pointpillars_vit_cnn + - model=hisup + job: + name: train + chdir: null + override_dirname: checkpoint=null,encoder=pointpillars_vit_cnn,experiment_name=lidar_pp_vit_cnn_bs2x16_mnv64,host=g5k,log_to_wandb=true,model.batch_size=16,model=hisup,multi_gpu=true,run_type=release + id: ??? + num: ??? + config_name: config + env_set: {} + env_copy: [] + config: + override_dirname: + kv_sep: '=' + item_sep: ',' + exclude_keys: [] + runtime: + version: 1.3.2 + version_base: '1.3' + cwd: /home/rsulzer/python/PixelsPointsPolygons + config_sources: + - path: hydra.conf + schema: pkg + provider: hydra + - path: /home/rsulzer/python/PixelsPointsPolygons/config + schema: file + provider: main + - path: '' + schema: structured + provider: schema + output_dir: /home/rsulzer/data/hisup_outputs/lidarpoly/224/lidar_pp_vit_cnn_bs2x16_mnv64 + choices: + host: g5k + run_type: release + dataset: lidarpoly + polygonization: asm_acm + model: hisup + encoder: pointpillars_vit_cnn + hydra/env: default + hydra/callbacks: null + hydra/job_logging: default + hydra/hydra_logging: default + hydra/hydra_help: default + hydra/help: default + hydra/sweeper: basic + hydra/launcher: basic + hydra/output: default + verbose: false diff --git a/hisup/224/lidar_pp_vit_cnn_bs2x16_mnv64/.hydra/overrides.yaml b/hisup/224/lidar_pp_vit_cnn_bs2x16_mnv64/.hydra/overrides.yaml new file mode 100644 index 0000000000000000000000000000000000000000..195429bd1580dd0c90e18eec6ded5e2735d3476f --- /dev/null +++ b/hisup/224/lidar_pp_vit_cnn_bs2x16_mnv64/.hydra/overrides.yaml @@ -0,0 +1,9 @@ +- log_to_wandb=true +- host=g5k +- run_type=release +- multi_gpu=true +- experiment_name=lidar_pp_vit_cnn_bs2x16_mnv64 +- checkpoint=null +- model.batch_size=16 +- encoder=pointpillars_vit_cnn +- model=hisup diff --git a/hisup/224/lidar_pp_vit_cnn_bs2x16_mnv64/checkpoints/best_val_iou.pth b/hisup/224/lidar_pp_vit_cnn_bs2x16_mnv64/checkpoints/best_val_iou.pth new file mode 100644 index 0000000000000000000000000000000000000000..ee04e9775f722936486d99b49628d251aeffae3e --- /dev/null +++ b/hisup/224/lidar_pp_vit_cnn_bs2x16_mnv64/checkpoints/best_val_iou.pth @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3f8faa0d44057dc52783b2091b25b382f5cc151fc9330db31758d3d1ee4d067f +size 369612654 diff --git a/hisup/224/lidar_pp_vit_cnn_bs2x16_mnv64/predictions/best_val_iou.json b/hisup/224/lidar_pp_vit_cnn_bs2x16_mnv64/predictions/best_val_iou.json new file mode 100644 index 0000000000000000000000000000000000000000..bc24c072055c8806cab2926d12c5a3f0ad784c73 --- /dev/null +++ b/hisup/224/lidar_pp_vit_cnn_bs2x16_mnv64/predictions/best_val_iou.json @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fbbb8e0c326aeb74ef6f8ec0c81591fd08aa4f8c8e4bda7a9894d796a1133bd9 +size 609888 diff --git a/hisup/224/lidar_pp_vit_cnn_bs2x16_mnv64/predictions_NY_val/best_val_iou.json b/hisup/224/lidar_pp_vit_cnn_bs2x16_mnv64/predictions_NY_val/best_val_iou.json new file mode 100644 index 0000000000000000000000000000000000000000..b95b5b3f38673f2dc0649067d62404eacd4adff4 --- /dev/null +++ b/hisup/224/lidar_pp_vit_cnn_bs2x16_mnv64/predictions_NY_val/best_val_iou.json @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9258fa067061689a9b53f30661ecdbebefa16a3337de54c21164fbd0ab9e72fe +size 966040 diff --git a/hisup/224/lidar_pp_vit_cnn_bs2x16_mnv64/predictions_NZ_val/best_val_iou.json b/hisup/224/lidar_pp_vit_cnn_bs2x16_mnv64/predictions_NZ_val/best_val_iou.json new file mode 100644 index 0000000000000000000000000000000000000000..c639d301546b5344c1d6e45172d6e495c7c836e9 --- /dev/null +++ b/hisup/224/lidar_pp_vit_cnn_bs2x16_mnv64/predictions_NZ_val/best_val_iou.json @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e9e07c239351dcf7415195c75f4ceabb00cf55736406940e42ec8f7c6b1b2b6c +size 63057 diff --git a/hisup/224/lidar_pp_vit_cnn_bs2x16_mnv64/predictions_Switzerland_test/best_val_iou.json b/hisup/224/lidar_pp_vit_cnn_bs2x16_mnv64/predictions_Switzerland_test/best_val_iou.json new file mode 100644 index 0000000000000000000000000000000000000000..8c59af29ea0488e95ada7daff07831847548fa1e --- /dev/null +++ b/hisup/224/lidar_pp_vit_cnn_bs2x16_mnv64/predictions_Switzerland_test/best_val_iou.json @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:87c4560fa5aff950cc01d74b64db1442e98eeb1013bba4d3807938d345dae5ab +size 8638394 diff --git a/hisup/224/lidar_pp_vit_cnn_bs2x16_mnv64/predictions_Switzerland_val/best_val_iou.json b/hisup/224/lidar_pp_vit_cnn_bs2x16_mnv64/predictions_Switzerland_val/best_val_iou.json new file mode 100644 index 0000000000000000000000000000000000000000..e1d12e2afac7268db55a70f467b74e87b39eb0a8 --- /dev/null +++ b/hisup/224/lidar_pp_vit_cnn_bs2x16_mnv64/predictions_Switzerland_val/best_val_iou.json @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4c888cc6489c0db33282d2b727f411be9701193bd9b5dbc7480621d79171652b +size 612143 diff --git a/hisup/224/lidar_pp_vit_cnn_bs2x16_mnv64/predictions_test/best_val_iou.json b/hisup/224/lidar_pp_vit_cnn_bs2x16_mnv64/predictions_test/best_val_iou.json new file mode 100644 index 0000000000000000000000000000000000000000..084165f008072824d99ae5d0c5623cf400ddc192 --- /dev/null +++ b/hisup/224/lidar_pp_vit_cnn_bs2x16_mnv64/predictions_test/best_val_iou.json @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:72916e9ba7bff83ef6ea9c677fc7d2c34816f98543e1f7063aa9b96064e88aa2 +size 48685 diff --git a/hisup/224/lidar_pp_vit_cnn_bs2x16_mnv64/predictions_val/best_val_iou.json b/hisup/224/lidar_pp_vit_cnn_bs2x16_mnv64/predictions_val/best_val_iou.json new file mode 100644 index 0000000000000000000000000000000000000000..2926011ffdaf9afdea12ad241d3e4a58d9d7ceb4 --- /dev/null +++ b/hisup/224/lidar_pp_vit_cnn_bs2x16_mnv64/predictions_val/best_val_iou.json @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a65093ce5d42a2169f669f5f6f8e31d941a69973fa1e3139c51e5c58c015f33c +size 965849 diff --git a/hisup/224/v0_all_bs4x16/.hydra/config.yaml b/hisup/224/v0_all_bs4x16/.hydra/config.yaml new file mode 100644 index 0000000000000000000000000000000000000000..13ff1c6d066ed93f16f9cd2bd5211ec5ff63a60a --- /dev/null +++ b/hisup/224/v0_all_bs4x16/.hydra/config.yaml @@ -0,0 +1,218 @@ +host: + name: gin + data_root: /data/rsulzer +run_type: + name: debug + batch_size: 16 + train_subset: 256 + val_subset: 32 + test_subset: 32 + logging: DEBUG + num_workers: 0 + log_to_wandb: false +polygonization: + method: + - acm + common_params: + init_data_level: 0.5 + simple_method: + data_level: 0.5 + tolerance: + - 1.0 + seg_threshold: 0.5 + min_area: 10 + asm_method: + init_method: skeleton + data_level: 0.5 + loss_params: + coefs: + step_thresholds: + - 0 + - 100 + - 200 + - 300 + data: + - 1.0 + - 0.1 + - 0.0 + - 0.0 + crossfield: + - 0.0 + - 0.05 + - 0.0 + - 0.0 + length: + - 0.1 + - 0.01 + - 0.0 + - 0.0 + curvature: + - 0.0 + - 0.0 + - 1.0 + - 0.0 + corner: + - 0.0 + - 0.0 + - 0.5 + - 0.0 + junction: + - 0.0 + - 0.0 + - 0.5 + - 0.0 + curvature_dissimilarity_threshold: 2 + corner_angles: + - 45 + - 90 + - 135 + corner_angle_threshold: 22.5 + junction_angles: + - 0 + - 45 + - 90 + - 135 + junction_angle_weights: + - 1 + - 0.01 + - 0.1 + - 0.01 + junction_angle_threshold: 22.5 + lr: 0.1 + gamma: 0.995 + device: cuda + tolerance: + - 1 + seg_threshold: 0.5 + min_area: 10 + acm_method: + steps: 500 + data_level: 0.5 + data_coef: 0.1 + length_coef: 0.4 + crossfield_coef: 0.5 + poly_lr: 0.01 + warmup_iters: 100 + warmup_factor: 0.1 + device: cuda + tolerance: + - 1 + seg_threshold: 0.5 + min_area: 10 +dataset: + name: p3 + size: ${..experiment.encoder.in_size} + path: ${host.data_root}/PixelsPointsPolygons/data/${.size} + annotations: + train: ${..path}/annotations_${...country}_train.json + val: ${..path}/annotations_${...country}_val.json + test: ${..path}/annotations_${...country}_test.json + ffl_stats: + train: ${..path}/ffl/train/stats-${...country}.pt + val: ${..path}/ffl/val/stats-${...country}.pt + test: ${..path}/ffl/test/stats-${...country}.pt + train_subset: ${..run_type.train_subset} + val_subset: ${..run_type.val_subset} + test_subset: ${..run_type.test_subset} +experiment: + encoder: + name: early_fusion_vit_cnn + use_images: true + use_lidar: true + in_size: 224 + in_height: ${.in_size} + in_width: ${.in_size} + in_voxel_size: + x: 8 + 'y': 8 + z: 100 + max_num_points_per_voxel: 64 + max_num_voxels: + train: 784 + test: 784 + out_feature_size: ${..model.decoder.in_feature_size} + out_feature_height: ${.out_feature_size} + out_feature_width: ${.out_feature_size} + out_feature_dim: ${..model.decoder.in_feature_dim} + vit: + type: vit_small_patch${..patch_size}_${..in_size}.dino + checkpoint_file: ${....host.data_root}/checkpoints/backbones/dino_deitsmall8_pretrain.pth + pretrained: true + patch_size: 8 + patch_feature_size: 28 + patch_feature_height: ${.patch_feature_size} + patch_feature_width: ${.patch_feature_size} + patch_feature_dim: 384 + image_mean: + - 0.0 + - 0.0 + - 0.0 + image_std: + - 1.0 + - 1.0 + - 1.0 + image_max_pixel_value: 255.0 + augmentations: + - D4 + - ColorJitter + - GaussNoise + - Normalize + model: + name: hisup + decoder: + in_feature_size: 224 + in_feature_width: ${.in_feature_size} + in_feature_height: ${.in_feature_size} + in_feature_dim: 256 + point_pillars: + out_channels: + - 128 + - 128 + - 128 + upsample_strides: + - 1 + - 2 + - 4 + batch_size: ${...run_type.batch_size} + start_epoch: 0 + num_epochs: 200 + milestone: 0 + learning_rate: 0.0001 + weight_decay: 0.0001 + loss_weights: + loss_joff: 0.25 + loss_jloc: 8.0 + loss_mask: 1.0 + loss_afm: 0.1 + loss_remask: 1.0 + name: v0_all_bs4x16 + group_name: v2_${.model.name} +experiment.name: debug +output_dir: ${.host.data_root}/${.experiment.model.name}_outputs/${.dataset.name}/${.experiment.encoder.in_size}/${.experiment.name} +checkpoint: null +checkpoint_file: null +save_best: true +save_latest: true +save_every: 10 +val_every: 1 +best_val_loss: 10000000.0 +best_val_iou: 0.0 +multi_gpu: false +device: cuda +log_to_wandb: ${.run_type.log_to_wandb} +num_workers: ${.run_type.num_workers} +update_pbar_every: 2 +country: CH +use_lidar: ${.experiment.encoder.use_lidar} +use_images: ${.experiment.encoder.use_images} +eval: + split: val + pred_file: ${..output_dir}/predictions_${..country}_${.split}/${..checkpoint}.json + modes: + - ldof + - coco + - iou + - polis + - mta + eval_file: results/metrics + ldof_exe: /user/rsulzer/home/cpp/line-DOF-metric/build/calculate_DoF diff --git a/hisup/224/v0_all_bs4x16/.hydra/hydra.yaml b/hisup/224/v0_all_bs4x16/.hydra/hydra.yaml new file mode 100644 index 0000000000000000000000000000000000000000..24ca08d92bd14391c1820c4c220eacf836bf5b84 --- /dev/null +++ b/hisup/224/v0_all_bs4x16/.hydra/hydra.yaml @@ -0,0 +1,162 @@ +hydra: + run: + dir: ${...output_dir} + sweep: + dir: multirun/${now:%Y-%m-%d}/${now:%H-%M-%S} + subdir: ${hydra.job.num} + launcher: + _target_: hydra._internal.core_plugins.basic_launcher.BasicLauncher + sweeper: + _target_: hydra._internal.core_plugins.basic_sweeper.BasicSweeper + max_batch_size: null + params: null + help: + app_name: ${hydra.job.name} + header: '${hydra.help.app_name} is powered by Hydra. + + ' + footer: 'Powered by Hydra (https://hydra.cc) + + Use --hydra-help to view Hydra specific help + + ' + template: '${hydra.help.header} + + == Configuration groups == + + Compose your configuration from those groups (group=option) + + + $APP_CONFIG_GROUPS + + + == Config == + + Override anything in the config (foo.bar=value) + + + $CONFIG + + + ${hydra.help.footer} + + ' + hydra_help: + template: 'Hydra (${hydra.runtime.version}) + + See https://hydra.cc for more info. + + + == Flags == + + $FLAGS_HELP + + + == Configuration groups == + + Compose your configuration from those groups (For example, append hydra/job_logging=disabled + to command line) + + + $HYDRA_CONFIG_GROUPS + + + Use ''--cfg hydra'' to Show the Hydra config. + + ' + hydra_help: ??? + hydra_logging: + version: 1 + formatters: + simple: + format: '[%(asctime)s][HYDRA] %(message)s' + handlers: + console: + class: logging.StreamHandler + formatter: simple + stream: ext://sys.stdout + root: + level: INFO + handlers: + - console + loggers: + logging_example: + level: DEBUG + disable_existing_loggers: false + job_logging: + version: 1 + formatters: + simple: + format: '[%(asctime)s][%(name)s][%(levelname)s] - %(message)s' + handlers: + console: + class: logging.StreamHandler + formatter: simple + stream: ext://sys.stdout + file: + class: logging.FileHandler + formatter: simple + filename: ${hydra.runtime.output_dir}/${hydra.job.name}.log + root: + level: INFO + handlers: + - console + - file + disable_existing_loggers: false + env: {} + mode: RUN + searchpath: [] + callbacks: {} + output_subdir: .hydra + overrides: + hydra: + - hydra.mode=RUN + task: + - run_type=debug + job: + name: merge_coco_annotations + chdir: null + override_dirname: run_type=debug + id: ??? + num: ??? + config_name: config + env_set: {} + env_copy: [] + config: + override_dirname: + kv_sep: '=' + item_sep: ',' + exclude_keys: [] + runtime: + version: 1.3.2 + version_base: '1.3' + cwd: /run/netsop/u/home-sam/home/rsulzer/remote_python/pixelspointspolygons + config_sources: + - path: hydra.conf + schema: pkg + provider: hydra + - path: /run/netsop/u/home-sam/home/rsulzer/remote_python/pixelspointspolygons/config + schema: file + provider: main + - path: '' + schema: structured + provider: schema + output_dir: /data/rsulzer/hisup_outputs/p3/224/v0_all_bs4x16 + choices: + experiment: hisup_fusion + model@experiment.model: hisup + encoder@experiment.encoder: early_fusion_vit_cnn + dataset: p3 + polygonization: asm_acm + run_type: debug + host: gin + hydra/env: default + hydra/callbacks: null + hydra/job_logging: default + hydra/hydra_logging: default + hydra/hydra_help: default + hydra/help: default + hydra/sweeper: basic + hydra/launcher: basic + hydra/output: default + verbose: false diff --git a/hisup/224/v0_all_bs4x16/.hydra/overrides.yaml b/hisup/224/v0_all_bs4x16/.hydra/overrides.yaml new file mode 100644 index 0000000000000000000000000000000000000000..2f3ee8a9b2c6d5facee4ca582b3f10df21b442c7 --- /dev/null +++ b/hisup/224/v0_all_bs4x16/.hydra/overrides.yaml @@ -0,0 +1 @@ +- run_type=debug diff --git a/hisup/224/v0_all_bs4x16/checkpoints/best_val_iou.pth b/hisup/224/v0_all_bs4x16/checkpoints/best_val_iou.pth new file mode 100644 index 0000000000000000000000000000000000000000..9ee586992d5e74e38639b4915044499b7b22bafb --- /dev/null +++ b/hisup/224/v0_all_bs4x16/checkpoints/best_val_iou.pth @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4d085e859bf0d9fb94f5d086d6cd1ea00250967097e81ecfa22ea35882c112e1 +size 402375066 diff --git a/hisup/224/v0_all_bs4x16/predictions/best_val_iou.json b/hisup/224/v0_all_bs4x16/predictions/best_val_iou.json new file mode 100644 index 0000000000000000000000000000000000000000..8e6f165261e477760003a22d6124447a22c02474 --- /dev/null +++ b/hisup/224/v0_all_bs4x16/predictions/best_val_iou.json @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:67aecb5616402b299594a9a86b618126b6b011c5ea7a870be7b498c6130bb4ac +size 1817061 diff --git a/hisup/224/v0_all_bs4x16/predictions_NY_test/best_val_iou.json b/hisup/224/v0_all_bs4x16/predictions_NY_test/best_val_iou.json new file mode 100644 index 0000000000000000000000000000000000000000..bf8279527523b65f793892a9881b8be9a7fdcf36 --- /dev/null +++ b/hisup/224/v0_all_bs4x16/predictions_NY_test/best_val_iou.json @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4c9148ceeeab913cb7460695a0b4d8969feaa5d65941e660bafaef269166d398 +size 61010 diff --git a/hisup/224/v0_all_bs4x16/predictions_NY_val/best_val_iou.json b/hisup/224/v0_all_bs4x16/predictions_NY_val/best_val_iou.json new file mode 100644 index 0000000000000000000000000000000000000000..6230ba91cb8a1e8f2623be5794e00477409e83b3 --- /dev/null +++ b/hisup/224/v0_all_bs4x16/predictions_NY_val/best_val_iou.json @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9d1f73100f0b4719aa7bc191541be43d343c59495b73d4aa3cadf82ff88ccc8b +size 37670 diff --git a/hisup/224/v0_all_bs4x16/predictions_NZ_test/best_val_iou.json b/hisup/224/v0_all_bs4x16/predictions_NZ_test/best_val_iou.json new file mode 100644 index 0000000000000000000000000000000000000000..a00d5e799f7a9dc77838a968fdd27ed240f1ba26 --- /dev/null +++ b/hisup/224/v0_all_bs4x16/predictions_NZ_test/best_val_iou.json @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:591b3c9cd40db674fd37529a84d8d30e19ab76d73c2653f268c785d2d279da8f +size 2415 diff --git a/hisup/224/v0_all_bs4x16/predictions_NZ_val/best_val_iou.json b/hisup/224/v0_all_bs4x16/predictions_NZ_val/best_val_iou.json new file mode 100644 index 0000000000000000000000000000000000000000..d60fe5425940c3073286f8df2b19f5c016778b10 --- /dev/null +++ b/hisup/224/v0_all_bs4x16/predictions_NZ_val/best_val_iou.json @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d4f1c3b19fef64c0593285753155e7a3dee4af8c01d20b5d92c7f65533aa36bb +size 7483 diff --git a/hisup/224/v0_all_bs4x16/predictions_Switzerland_test/best_val_iou.json b/hisup/224/v0_all_bs4x16/predictions_Switzerland_test/best_val_iou.json new file mode 100644 index 0000000000000000000000000000000000000000..6b588b7a91a7a0cdf10739a82d84502dc3eefb80 --- /dev/null +++ b/hisup/224/v0_all_bs4x16/predictions_Switzerland_test/best_val_iou.json @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7e000487efe61ecd4e577995ba950ce470e1fc3d696d7e68acd5a097a63d3bc2 +size 6683 diff --git a/hisup/224/v0_all_bs4x16/predictions_Switzerland_val/best_val_iou.json b/hisup/224/v0_all_bs4x16/predictions_Switzerland_val/best_val_iou.json new file mode 100644 index 0000000000000000000000000000000000000000..933c5edcbe02b95c8eadd5573e0a96839db32297 --- /dev/null +++ b/hisup/224/v0_all_bs4x16/predictions_Switzerland_val/best_val_iou.json @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:28eda9244b9d2cb38194ca5f469d0806c00baf170427a99906049618c7559739 +size 46720 diff --git a/hisup/224/v0_all_bs4x16/predictions_all_test/best_val_iou.json b/hisup/224/v0_all_bs4x16/predictions_all_test/best_val_iou.json new file mode 100644 index 0000000000000000000000000000000000000000..357ad997a027c34839329e3ef4f653cf9239813a --- /dev/null +++ b/hisup/224/v0_all_bs4x16/predictions_all_test/best_val_iou.json @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b120b346a0705532b64b99bdeb781024d7f1abda50eda1709c3abbe88bac446b +size 38862694 diff --git a/hisup/224/v0_all_bs4x16/predictions_all_test_jz/best_val_iou.json b/hisup/224/v0_all_bs4x16/predictions_all_test_jz/best_val_iou.json new file mode 100644 index 0000000000000000000000000000000000000000..dc5036b1c9f2c86376945f46d204d34e75c3744b --- /dev/null +++ b/hisup/224/v0_all_bs4x16/predictions_all_test_jz/best_val_iou.json @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:78fe6fa23e2a5ba8c31063ab903be4076145c9d95debfcca3b810e4e77c8174a +size 9746679 diff --git a/hisup/224/v0_all_bs4x16/predictions_all_val/best_val_iou.json b/hisup/224/v0_all_bs4x16/predictions_all_val/best_val_iou.json new file mode 100644 index 0000000000000000000000000000000000000000..933c5edcbe02b95c8eadd5573e0a96839db32297 --- /dev/null +++ b/hisup/224/v0_all_bs4x16/predictions_all_val/best_val_iou.json @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:28eda9244b9d2cb38194ca5f469d0806c00baf170427a99906049618c7559739 +size 46720 diff --git a/hisup/224/v3_image_vit_cnn_bs4x12/.hydra/config.yaml b/hisup/224/v3_image_vit_cnn_bs4x12/.hydra/config.yaml new file mode 100644 index 0000000000000000000000000000000000000000..a516da6e33fec980bc58bb9aa005f2eb36684137 --- /dev/null +++ b/hisup/224/v3_image_vit_cnn_bs4x12/.hydra/config.yaml @@ -0,0 +1,214 @@ +encoder: + name: vit_cnn + use_images: true + use_lidar: false + type: vit_small_patch${.patch_size}_${.in_size}.dino + checkpoint_file: ${..host.data_root}/checkpoints/backbones/dino_deitsmall8_pretrain.pth + pretrained: true + in_size: 224 + in_height: ${.in_size} + in_width: ${.in_size} + patch_size: 8 + patch_feature_size: 28 + patch_feature_height: ${.patch_feature_size} + patch_feature_width: ${.patch_feature_size} + patch_feature_dim: 384 + out_feature_size: ${..model.decoder.in_feature_size} + out_feature_height: ${.out_feature_size} + out_feature_width: ${.out_feature_size} + out_feature_dim: ${..model.decoder.in_feature_dim} + image_mean: + - 0.0 + - 0.0 + - 0.0 + image_std: + - 1.0 + - 1.0 + - 1.0 + image_max_pixel_value: 255.0 + augmentations: + - D4 + - ColorJitter + - GaussNoise + - Normalize +model: + name: hisup + decoder: + in_feature_size: 224 + in_feature_width: ${.in_feature_size} + in_feature_height: ${.in_feature_size} + in_feature_dim: 256 + point_pillars: + out_channels: + - 128 + - 128 + - 128 + upsample_strides: + - 1 + - 2 + - 4 + batch_size: 12 + start_epoch: 0 + num_epochs: 200 + milestone: 0 + learning_rate: 0.0001 + weight_decay: 0.0001 + loss_weights: + loss_joff: 0.25 + loss_jloc: 8.0 + loss_mask: 1.0 + loss_afm: 0.1 + loss_remask: 1.0 +polygonization: + method: + - acm + common_params: + init_data_level: 0.5 + simple_method: + data_level: 0.5 + tolerance: + - 1.0 + seg_threshold: 0.5 + min_area: 10 + asm_method: + init_method: skeleton + data_level: 0.5 + loss_params: + coefs: + step_thresholds: + - 0 + - 100 + - 200 + - 300 + data: + - 1.0 + - 0.1 + - 0.0 + - 0.0 + crossfield: + - 0.0 + - 0.05 + - 0.0 + - 0.0 + length: + - 0.1 + - 0.01 + - 0.0 + - 0.0 + curvature: + - 0.0 + - 0.0 + - 1.0 + - 0.0 + corner: + - 0.0 + - 0.0 + - 0.5 + - 0.0 + junction: + - 0.0 + - 0.0 + - 0.5 + - 0.0 + curvature_dissimilarity_threshold: 2 + corner_angles: + - 45 + - 90 + - 135 + corner_angle_threshold: 22.5 + junction_angles: + - 0 + - 45 + - 90 + - 135 + junction_angle_weights: + - 1 + - 0.01 + - 0.1 + - 0.01 + junction_angle_threshold: 22.5 + lr: 0.1 + gamma: 0.995 + device: cuda + tolerance: + - 1 + seg_threshold: 0.5 + min_area: 10 + acm_method: + steps: 500 + data_level: 0.5 + data_coef: 0.1 + length_coef: 0.4 + crossfield_coef: 0.5 + poly_lr: 0.01 + warmup_iters: 100 + warmup_factor: 0.1 + device: cuda + tolerance: + - 1 + seg_threshold: 0.5 + min_area: 10 +dataset: + name: lidarpoly + size: ${..encoder.in_size} + path: ${host.data_root}/${.name}/${.size} + annotations: + train: ${..path}/annotations_train.json + val: ${..path}/annotations_val.json + test: ${..path}/annotations_test.json + train_subset: ${..run_type.train_subset} + val_subset: ${..run_type.val_subset} + augmentations: + - D4 +run_type: + name: release + batch_size: 16 + train_subset: null + val_subset: null + logging: INFO + num_workers: 16 + log_to_wandb: true +host: + name: jeanzay + data_root: /lustre/fswork/projects/rech/cso/uku93eu/data + update_pbar_every: 60 +output_dir: ${.host.data_root}/${.model.name}_outputs/${.dataset.name}/${.encoder.in_size}/${.experiment_name} +checkpoint: latest +checkpoint_file: null +experiment_name: v3_image_vit_cnn_bs4x12 +group_name: v2_${.model.name} +multi_gpu: true +device: cuda +log_to_wandb: true +num_workers: ${.run_type.num_workers} +update_pbar_every: ${.host.update_pbar_every} +use_lidar: ${.encoder.use_lidar} +use_images: ${.encoder.use_images} +save_best: true +save_latest: true +save_every: 10 +val_every: 1 +best_val_loss: 10000000.0 +best_val_iou: 0.0 +eval: + gt_file: ${..dataset.annotations.val} + pred_file: ${..output_dir}/predictions/${..checkpoint}.json + modes: + - iou + experiments: + - model: ffl + experiment_name: + - 224/v3_image_vit_cnn_bs4x16 + - 224/v3_lidar_pp_vit_cnn_bs2x16 + - 224/fusion_vit_cnn_bs16 + - model: hisup + experiment_name: + - 224/v3_image_hrnet224_bs4x16 + - 224/v3_lidar_pp_vit_cnn_bs2x16 + - 224/early_fusion_vit_cnn_bs16 + - model: pix2poly + experiment_name: + - 224/image_only_bs4x16 + - 224/lidar_only_bs2x16 + - 224/fusion_bs2x16 + eval_file: results/metrics diff --git a/hisup/224/v3_image_vit_cnn_bs4x12/.hydra/hydra.yaml b/hisup/224/v3_image_vit_cnn_bs4x12/.hydra/hydra.yaml new file mode 100644 index 0000000000000000000000000000000000000000..a4e612d3e5c6b261999a6ccbe5f130a1f0fc3f9b --- /dev/null +++ b/hisup/224/v3_image_vit_cnn_bs4x12/.hydra/hydra.yaml @@ -0,0 +1,169 @@ +hydra: + run: + dir: ${...output_dir} + sweep: + dir: multirun/${now:%Y-%m-%d}/${now:%H-%M-%S} + subdir: ${hydra.job.num} + launcher: + _target_: hydra._internal.core_plugins.basic_launcher.BasicLauncher + sweeper: + _target_: hydra._internal.core_plugins.basic_sweeper.BasicSweeper + max_batch_size: null + params: null + help: + app_name: ${hydra.job.name} + header: '${hydra.help.app_name} is powered by Hydra. + + ' + footer: 'Powered by Hydra (https://hydra.cc) + + Use --hydra-help to view Hydra specific help + + ' + template: '${hydra.help.header} + + == Configuration groups == + + Compose your configuration from those groups (group=option) + + + $APP_CONFIG_GROUPS + + + == Config == + + Override anything in the config (foo.bar=value) + + + $CONFIG + + + ${hydra.help.footer} + + ' + hydra_help: + template: 'Hydra (${hydra.runtime.version}) + + See https://hydra.cc for more info. + + + == Flags == + + $FLAGS_HELP + + + == Configuration groups == + + Compose your configuration from those groups (For example, append hydra/job_logging=disabled + to command line) + + + $HYDRA_CONFIG_GROUPS + + + Use ''--cfg hydra'' to Show the Hydra config. + + ' + hydra_help: ??? + hydra_logging: + version: 1 + formatters: + simple: + format: '[%(asctime)s][HYDRA] %(message)s' + handlers: + console: + class: logging.StreamHandler + formatter: simple + stream: ext://sys.stdout + root: + level: INFO + handlers: + - console + loggers: + logging_example: + level: DEBUG + disable_existing_loggers: false + job_logging: + version: 1 + formatters: + simple: + format: '[%(asctime)s][%(name)s][%(levelname)s] - %(message)s' + handlers: + console: + class: logging.StreamHandler + formatter: simple + stream: ext://sys.stdout + file: + class: logging.FileHandler + formatter: simple + filename: ${hydra.runtime.output_dir}/${hydra.job.name}.log + root: + level: INFO + handlers: + - console + - file + disable_existing_loggers: false + env: {} + mode: RUN + searchpath: [] + callbacks: {} + output_subdir: .hydra + overrides: + hydra: + - hydra.mode=RUN + task: + - log_to_wandb=true + - host=jz + - run_type=release + - multi_gpu=true + - checkpoint=latest + - model.batch_size=12 + - experiment_name=v3_image_vit_cnn_bs4x12 + - model=hisup + - encoder=vit_cnn + job: + name: train + chdir: null + override_dirname: checkpoint=latest,encoder=vit_cnn,experiment_name=v3_image_vit_cnn_bs4x12,host=jz,log_to_wandb=true,model.batch_size=12,model=hisup,multi_gpu=true,run_type=release + id: ??? + num: ??? + config_name: config + env_set: {} + env_copy: [] + config: + override_dirname: + kv_sep: '=' + item_sep: ',' + exclude_keys: [] + runtime: + version: 1.3.2 + version_base: '1.3' + cwd: /lustre/fswork/projects/rech/cso/uku93eu/python/PixelsPointsPolygons + config_sources: + - path: hydra.conf + schema: pkg + provider: hydra + - path: /lustre/fswork/projects/rech/cso/uku93eu/python/PixelsPointsPolygons/config + schema: file + provider: main + - path: '' + schema: structured + provider: schema + output_dir: /lustre/fswork/projects/rech/cso/uku93eu/data/hisup_outputs/lidarpoly/224/v3_image_vit_cnn_bs4x12 + choices: + host: jz + run_type: release + dataset: lidarpoly + polygonization: asm_acm + model: hisup + encoder: vit_cnn + hydra/env: default + hydra/callbacks: null + hydra/job_logging: default + hydra/hydra_logging: default + hydra/hydra_help: default + hydra/help: default + hydra/sweeper: basic + hydra/launcher: basic + hydra/output: default + verbose: false diff --git a/hisup/224/v3_image_vit_cnn_bs4x12/.hydra/overrides.yaml b/hisup/224/v3_image_vit_cnn_bs4x12/.hydra/overrides.yaml new file mode 100644 index 0000000000000000000000000000000000000000..2ea24212fd658032c347660315cf2d994ed22f42 --- /dev/null +++ b/hisup/224/v3_image_vit_cnn_bs4x12/.hydra/overrides.yaml @@ -0,0 +1,9 @@ +- log_to_wandb=true +- host=jz +- run_type=release +- multi_gpu=true +- checkpoint=latest +- model.batch_size=12 +- experiment_name=v3_image_vit_cnn_bs4x12 +- model=hisup +- encoder=vit_cnn diff --git a/hisup/224/v3_image_vit_cnn_bs4x12/checkpoints/best_val_iou.pth b/hisup/224/v3_image_vit_cnn_bs4x12/checkpoints/best_val_iou.pth new file mode 100644 index 0000000000000000000000000000000000000000..0efa9a6e3efc6644df6a1660cf9fd9dee851b86b --- /dev/null +++ b/hisup/224/v3_image_vit_cnn_bs4x12/checkpoints/best_val_iou.pth @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c3c655d81325f8bcb6243a1db54d85ce5b8ba04df9c51aafffcecac23989c748 +size 370179926 diff --git a/hisup/224/v3_image_vit_cnn_bs4x12/predictions/best_val_iou.json b/hisup/224/v3_image_vit_cnn_bs4x12/predictions/best_val_iou.json new file mode 100644 index 0000000000000000000000000000000000000000..1c66aac23ebc4ef7e2c18c8ba40ee1dce0401f7f --- /dev/null +++ b/hisup/224/v3_image_vit_cnn_bs4x12/predictions/best_val_iou.json @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:831cc341d16efdf9c10a450e221d9152d2bad2bb668946226e65cbb5f5fcb14e +size 460817 diff --git a/hisup/224/v3_image_vit_cnn_bs4x12/predictions_NY_val/best_val_iou.json b/hisup/224/v3_image_vit_cnn_bs4x12/predictions_NY_val/best_val_iou.json new file mode 100644 index 0000000000000000000000000000000000000000..cb7173c5f70d1655d0320be4cc88db4797211064 --- /dev/null +++ b/hisup/224/v3_image_vit_cnn_bs4x12/predictions_NY_val/best_val_iou.json @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cd5c07b91c12f4dc7be7505852c2dfeae98e55801910e1d943813512ccb2e625 +size 702359 diff --git a/hisup/224/v3_image_vit_cnn_bs4x12/predictions_NZ_val/best_val_iou.json b/hisup/224/v3_image_vit_cnn_bs4x12/predictions_NZ_val/best_val_iou.json new file mode 100644 index 0000000000000000000000000000000000000000..ea86df769d74f7af730016296c35d7603183852d --- /dev/null +++ b/hisup/224/v3_image_vit_cnn_bs4x12/predictions_NZ_val/best_val_iou.json @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:227e4e9ebd106617e3d0ff5bb393057802bc71af92a40d00a2789c6a43b25ed7 +size 402105 diff --git a/hisup/224/v3_image_vit_cnn_bs4x12/predictions_Switzerland_test/best_val_iou.json b/hisup/224/v3_image_vit_cnn_bs4x12/predictions_Switzerland_test/best_val_iou.json new file mode 100644 index 0000000000000000000000000000000000000000..f391eb043da991bc31212a9454ae2bedd7805f40 --- /dev/null +++ b/hisup/224/v3_image_vit_cnn_bs4x12/predictions_Switzerland_test/best_val_iou.json @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:feacad4b3f5cbf97144b0ca2ddbebae9db14a0e51037fedffbf49204f7bacdc8 +size 7917786 diff --git a/hisup/224/v3_image_vit_cnn_bs4x12/predictions_Switzerland_val/best_val_iou.json b/hisup/224/v3_image_vit_cnn_bs4x12/predictions_Switzerland_val/best_val_iou.json new file mode 100644 index 0000000000000000000000000000000000000000..e2b5edb13223ee1c4202aec56d4253a459b60d7d --- /dev/null +++ b/hisup/224/v3_image_vit_cnn_bs4x12/predictions_Switzerland_val/best_val_iou.json @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6686d61af5b85ffa33c84b764e223e8f496e8032da7b28a4781f337af0026d77 +size 458994 diff --git a/hisup/224/v3_image_vit_cnn_bs4x12/predictions_test/best_val_iou.json b/hisup/224/v3_image_vit_cnn_bs4x12/predictions_test/best_val_iou.json new file mode 100644 index 0000000000000000000000000000000000000000..383b200fe50ded4e8a47d485087d2d453e610235 --- /dev/null +++ b/hisup/224/v3_image_vit_cnn_bs4x12/predictions_test/best_val_iou.json @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d79ec8781f2b938574c45991ee06e98869dfbf291604e22aa7454bdc29480b54 +size 50700 diff --git a/hisup/224/v3_image_vit_cnn_bs4x12/predictions_val/best_val_iou.json b/hisup/224/v3_image_vit_cnn_bs4x12/predictions_val/best_val_iou.json new file mode 100644 index 0000000000000000000000000000000000000000..eb966bf4f7e8d4fdd81d9a4232270d6eb1a1c9fa --- /dev/null +++ b/hisup/224/v3_image_vit_cnn_bs4x12/predictions_val/best_val_iou.json @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2e1b1f4416d0c501f06fa2f35ae1b1d9d99ae3b91459045de35b64e6c04c6b4f +size 702127 diff --git a/pix2poly/224/early_fusion_bs2x16_mnv64/.hydra/config.yaml b/pix2poly/224/early_fusion_bs2x16_mnv64/.hydra/config.yaml new file mode 100644 index 0000000000000000000000000000000000000000..803a4834f7d15580d2216a4b550c4852133ba051 --- /dev/null +++ b/pix2poly/224/early_fusion_bs2x16_mnv64/.hydra/config.yaml @@ -0,0 +1,220 @@ +encoder: + name: early_fusion_vit + use_images: true + use_lidar: true + in_size: 224 + in_height: ${.in_size} + in_width: ${.in_size} + in_voxel_size: + x: 8 + 'y': 8 + z: 100 + max_num_points_per_voxel: 64 + max_num_voxels: + train: 784 + test: 784 + out_feature_width: 28 + out_feature_height: 28 + vit: + type: vit_small_patch${..patch_size}_${..in_size}.dino + checkpoint_file: ${...host.data_root}/checkpoints/backbones/dino_deitsmall8_pretrain.pth + pretrained: true + patch_size: 8 + patch_feature_size: 28 + patch_feature_height: ${.patch_feature_size} + patch_feature_width: ${.patch_feature_size} + patch_feature_dim: 384 + num_patches: 784 + out_feature_dim: ${..model.decoder.in_feature_dim} + image_mean: + - 0.0 + - 0.0 + - 0.0 + image_std: + - 1.0 + - 1.0 + - 1.0 + image_max_pixel_value: 255.0 + augmentations: + - D4 + - ColorJitter + - GaussNoise + - Normalize +model: + name: pix2poly + decoder: + in_feature_size: ${...encoder.patch_feature_size} + in_feature_width: ${.in_feature_size} + in_feature_height: ${.in_feature_size} + in_feature_dim: 256 + tokenizer: + num_bins: ${...encoder.in_size} + shuffle_tokens: false + n_vertices: 192 + max_len: null + pad_idx: null + generation_steps: null + fusion: patch_concat + sinkhorn_iterations: 100 + label_smoothing: 0.0 + vertex_loss_weight: 1.0 + perm_loss_weight: 10.0 + batch_size: 16 + start_epoch: 0 + num_epochs: 200 + milestone: 0 + learning_rate: 0.0003 + weight_decay: 0.0001 +polygonization: + method: + - acm + common_params: + init_data_level: 0.5 + simple_method: + data_level: 0.5 + tolerance: + - 1.0 + seg_threshold: 0.5 + min_area: 10 + asm_method: + init_method: skeleton + data_level: 0.5 + loss_params: + coefs: + step_thresholds: + - 0 + - 100 + - 200 + - 300 + data: + - 1.0 + - 0.1 + - 0.0 + - 0.0 + crossfield: + - 0.0 + - 0.05 + - 0.0 + - 0.0 + length: + - 0.1 + - 0.01 + - 0.0 + - 0.0 + curvature: + - 0.0 + - 0.0 + - 1.0 + - 0.0 + corner: + - 0.0 + - 0.0 + - 0.5 + - 0.0 + junction: + - 0.0 + - 0.0 + - 0.5 + - 0.0 + curvature_dissimilarity_threshold: 2 + corner_angles: + - 45 + - 90 + - 135 + corner_angle_threshold: 22.5 + junction_angles: + - 0 + - 45 + - 90 + - 135 + junction_angle_weights: + - 1 + - 0.01 + - 0.1 + - 0.01 + junction_angle_threshold: 22.5 + lr: 0.1 + gamma: 0.995 + device: cuda + tolerance: + - 1 + seg_threshold: 0.5 + min_area: 10 + acm_method: + steps: 500 + data_level: 0.5 + data_coef: 0.1 + length_coef: 0.4 + crossfield_coef: 0.5 + poly_lr: 0.01 + warmup_iters: 100 + warmup_factor: 0.1 + device: cuda + tolerance: + - 1 + seg_threshold: 0.5 + min_area: 10 +dataset: + name: lidarpoly + size: ${..encoder.in_size} + path: ${host.data_root}/${.name}/${.size} + annotations: + train: ${..path}/annotations_train.json + val: ${..path}/annotations_val.json + test: ${..path}/annotations_test.json + train_subset: ${..run_type.train_subset} + val_subset: ${..run_type.val_subset} + augmentations: + - D4 +run_type: + name: release + batch_size: 16 + train_subset: null + val_subset: null + logging: INFO + num_workers: 16 + log_to_wandb: true +host: + name: g5k + data_root: /home/rsulzer/data + update_pbar_every: 60 +output_dir: ${.host.data_root}/${.model.name}_outputs/${.dataset.name}/${.encoder.in_size}/${.experiment_name} +checkpoint: null +checkpoint_file: null +experiment_name: early_fusion_bs2x16_mnv64 +group_name: v2_${.model.name} +multi_gpu: true +device: cuda +log_to_wandb: true +num_workers: ${.run_type.num_workers} +update_pbar_every: ${.host.update_pbar_every} +use_lidar: ${.encoder.use_lidar} +use_images: ${.encoder.use_images} +save_best: true +save_latest: true +save_every: 10 +val_every: 1 +best_val_loss: 10000000.0 +best_val_iou: 0.0 +eval: + gt_file: ${..dataset.annotations.val} + pred_file: ${..output_dir}/predictions/${..checkpoint}.json + modes: + - iou + experiments: + - model: ffl + experiment_name: + - 224/v3_image_vit_cnn_bs4x16 + - 224/v3_lidar_pp_vit_cnn_bs2x16 + - 224/fusion_vit_cnn_bs16 + - model: hisup + experiment_name: + - 224/v3_image_hrnet224_bs4x16 + - 224/v3_lidar_pp_vit_cnn_bs2x16 + - 224/early_fusion_vit_cnn_bs16 + - model: pix2poly + experiment_name: + - 224/image_only_bs4x16 + - 224/lidar_only_bs2x16 + - 224/fusion_bs2x16 + eval_file: results/metrics diff --git a/pix2poly/224/early_fusion_bs2x16_mnv64/.hydra/hydra.yaml b/pix2poly/224/early_fusion_bs2x16_mnv64/.hydra/hydra.yaml new file mode 100644 index 0000000000000000000000000000000000000000..e64d0f6d82008c7814031cc1b38d27f630242000 --- /dev/null +++ b/pix2poly/224/early_fusion_bs2x16_mnv64/.hydra/hydra.yaml @@ -0,0 +1,169 @@ +hydra: + run: + dir: ${...output_dir} + sweep: + dir: multirun/${now:%Y-%m-%d}/${now:%H-%M-%S} + subdir: ${hydra.job.num} + launcher: + _target_: hydra._internal.core_plugins.basic_launcher.BasicLauncher + sweeper: + _target_: hydra._internal.core_plugins.basic_sweeper.BasicSweeper + max_batch_size: null + params: null + help: + app_name: ${hydra.job.name} + header: '${hydra.help.app_name} is powered by Hydra. + + ' + footer: 'Powered by Hydra (https://hydra.cc) + + Use --hydra-help to view Hydra specific help + + ' + template: '${hydra.help.header} + + == Configuration groups == + + Compose your configuration from those groups (group=option) + + + $APP_CONFIG_GROUPS + + + == Config == + + Override anything in the config (foo.bar=value) + + + $CONFIG + + + ${hydra.help.footer} + + ' + hydra_help: + template: 'Hydra (${hydra.runtime.version}) + + See https://hydra.cc for more info. + + + == Flags == + + $FLAGS_HELP + + + == Configuration groups == + + Compose your configuration from those groups (For example, append hydra/job_logging=disabled + to command line) + + + $HYDRA_CONFIG_GROUPS + + + Use ''--cfg hydra'' to Show the Hydra config. + + ' + hydra_help: ??? + hydra_logging: + version: 1 + formatters: + simple: + format: '[%(asctime)s][HYDRA] %(message)s' + handlers: + console: + class: logging.StreamHandler + formatter: simple + stream: ext://sys.stdout + root: + level: INFO + handlers: + - console + loggers: + logging_example: + level: DEBUG + disable_existing_loggers: false + job_logging: + version: 1 + formatters: + simple: + format: '[%(asctime)s][%(name)s][%(levelname)s] - %(message)s' + handlers: + console: + class: logging.StreamHandler + formatter: simple + stream: ext://sys.stdout + file: + class: logging.FileHandler + formatter: simple + filename: ${hydra.runtime.output_dir}/${hydra.job.name}.log + root: + level: INFO + handlers: + - console + - file + disable_existing_loggers: false + env: {} + mode: RUN + searchpath: [] + callbacks: {} + output_subdir: .hydra + overrides: + hydra: + - hydra.mode=RUN + task: + - log_to_wandb=true + - host=g5k + - run_type=release + - multi_gpu=true + - experiment_name=early_fusion_bs2x16_mnv64 + - checkpoint=null + - model.batch_size=16 + - encoder=early_fusion_vit + - model=pix2poly + job: + name: train + chdir: null + override_dirname: checkpoint=null,encoder=early_fusion_vit,experiment_name=early_fusion_bs2x16_mnv64,host=g5k,log_to_wandb=true,model.batch_size=16,model=pix2poly,multi_gpu=true,run_type=release + id: ??? + num: ??? + config_name: config + env_set: {} + env_copy: [] + config: + override_dirname: + kv_sep: '=' + item_sep: ',' + exclude_keys: [] + runtime: + version: 1.3.2 + version_base: '1.3' + cwd: /home/rsulzer/python/PixelsPointsPolygons + config_sources: + - path: hydra.conf + schema: pkg + provider: hydra + - path: /home/rsulzer/python/PixelsPointsPolygons/config + schema: file + provider: main + - path: '' + schema: structured + provider: schema + output_dir: /home/rsulzer/data/pix2poly_outputs/lidarpoly/224/early_fusion_bs2x16_mnv64 + choices: + host: g5k + run_type: release + dataset: lidarpoly + polygonization: asm_acm + model: pix2poly + encoder: early_fusion_vit + hydra/env: default + hydra/callbacks: null + hydra/job_logging: default + hydra/hydra_logging: default + hydra/hydra_help: default + hydra/help: default + hydra/sweeper: basic + hydra/launcher: basic + hydra/output: default + verbose: false diff --git a/pix2poly/224/early_fusion_bs2x16_mnv64/.hydra/overrides.yaml b/pix2poly/224/early_fusion_bs2x16_mnv64/.hydra/overrides.yaml new file mode 100644 index 0000000000000000000000000000000000000000..d50928d2e0ddecd2e84e90f9dd6cb08aee0ba1a7 --- /dev/null +++ b/pix2poly/224/early_fusion_bs2x16_mnv64/.hydra/overrides.yaml @@ -0,0 +1,9 @@ +- log_to_wandb=true +- host=g5k +- run_type=release +- multi_gpu=true +- experiment_name=early_fusion_bs2x16_mnv64 +- checkpoint=null +- model.batch_size=16 +- encoder=early_fusion_vit +- model=pix2poly diff --git a/pix2poly/224/early_fusion_bs2x16_mnv64/checkpoints/best_val_iou.pth b/pix2poly/224/early_fusion_bs2x16_mnv64/checkpoints/best_val_iou.pth new file mode 100644 index 0000000000000000000000000000000000000000..302c94b6fa4fd52aa2e673f9c426ffb6871fbb90 --- /dev/null +++ b/pix2poly/224/early_fusion_bs2x16_mnv64/checkpoints/best_val_iou.pth @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c440042690ba2343d6799ca9666e3974c41e3f0399c1d2499111cb0d26007b7c +size 415486506 diff --git a/pix2poly/224/early_fusion_bs2x16_mnv64/predictions/best_val_iou.json b/pix2poly/224/early_fusion_bs2x16_mnv64/predictions/best_val_iou.json new file mode 100644 index 0000000000000000000000000000000000000000..e05f1b095d1ec2b605fe785f047e84fc8263be38 --- /dev/null +++ b/pix2poly/224/early_fusion_bs2x16_mnv64/predictions/best_val_iou.json @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6dd414eda2cda682b28fe1395f06853849fa4568cba10709f0330058a0ce536b +size 516256 diff --git a/pix2poly/224/early_fusion_bs2x16_mnv64/predictions_NY_val/best_val_iou.json b/pix2poly/224/early_fusion_bs2x16_mnv64/predictions_NY_val/best_val_iou.json new file mode 100644 index 0000000000000000000000000000000000000000..9cb09c4c738d56399c904b02e98da04fd9645843 --- /dev/null +++ b/pix2poly/224/early_fusion_bs2x16_mnv64/predictions_NY_val/best_val_iou.json @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f63a11cfda672222ee84e4e4ecaaee6874b22ce9663a817f2d82665625d19bb3 +size 942258 diff --git a/pix2poly/224/early_fusion_bs2x16_mnv64/predictions_NZ_val/best_val_iou.json b/pix2poly/224/early_fusion_bs2x16_mnv64/predictions_NZ_val/best_val_iou.json new file mode 100644 index 0000000000000000000000000000000000000000..4f513258248801a4c1f228e2211866cb763d6170 --- /dev/null +++ b/pix2poly/224/early_fusion_bs2x16_mnv64/predictions_NZ_val/best_val_iou.json @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8f1da407023ef9c170b70741587a7c6aedc6ba3f9cc548142c4969c9c152f028 +size 19245 diff --git a/pix2poly/224/early_fusion_bs2x16_mnv64/predictions_Switzerland_test/best_val_iou.json b/pix2poly/224/early_fusion_bs2x16_mnv64/predictions_Switzerland_test/best_val_iou.json new file mode 100644 index 0000000000000000000000000000000000000000..750feb206b565f7e827b67bfc4c0693485dbbe45 --- /dev/null +++ b/pix2poly/224/early_fusion_bs2x16_mnv64/predictions_Switzerland_test/best_val_iou.json @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:32aaae717da6b591cb500441daed20d8860b0cd3855e8d5689103251e4f42c5c +size 8250273 diff --git a/pix2poly/224/early_fusion_bs2x16_mnv64/predictions_Switzerland_val/best_val_iou.json b/pix2poly/224/early_fusion_bs2x16_mnv64/predictions_Switzerland_val/best_val_iou.json new file mode 100644 index 0000000000000000000000000000000000000000..916498629cd1d60b208eade3d6b795eb1344d4ec --- /dev/null +++ b/pix2poly/224/early_fusion_bs2x16_mnv64/predictions_Switzerland_val/best_val_iou.json @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:59976072d0dc38f45f5352f8ab5989235f692f1419aee00517cd023b21aefe56 +size 510924 diff --git a/pix2poly/224/early_fusion_bs2x16_mnv64/predictions_test/best_val_iou.json b/pix2poly/224/early_fusion_bs2x16_mnv64/predictions_test/best_val_iou.json new file mode 100644 index 0000000000000000000000000000000000000000..f19e0a6e0b28c5dac3001685228cedca54b0be53 --- /dev/null +++ b/pix2poly/224/early_fusion_bs2x16_mnv64/predictions_test/best_val_iou.json @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a8ca0264672c4651170f5f539066f2aa72ca86c304f2123d0bbf5058bc16f442 +size 48328 diff --git a/pix2poly/224/early_fusion_bs2x16_mnv64/predictions_val/best_val_iou.json b/pix2poly/224/early_fusion_bs2x16_mnv64/predictions_val/best_val_iou.json new file mode 100644 index 0000000000000000000000000000000000000000..9cb09c4c738d56399c904b02e98da04fd9645843 --- /dev/null +++ b/pix2poly/224/early_fusion_bs2x16_mnv64/predictions_val/best_val_iou.json @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f63a11cfda672222ee84e4e4ecaaee6874b22ce9663a817f2d82665625d19bb3 +size 942258 diff --git a/pix2poly/224/lidar_pp_vit_bs2x16_mnv64/.hydra/config.yaml b/pix2poly/224/lidar_pp_vit_bs2x16_mnv64/.hydra/config.yaml new file mode 100644 index 0000000000000000000000000000000000000000..5e1d5b30850d6c0dde571a86cc1e367837863c0b --- /dev/null +++ b/pix2poly/224/lidar_pp_vit_bs2x16_mnv64/.hydra/config.yaml @@ -0,0 +1,220 @@ +encoder: + name: pointpillars_vit + use_images: false + use_lidar: true + in_size: 224 + in_height: ${.in_size} + in_width: ${.in_size} + in_voxel_size: + x: 8 + 'y': 8 + z: 100 + max_num_points_per_voxel: 64 + max_num_voxels: + train: 784 + test: 784 + out_feature_width: 28 + out_feature_height: 28 + vit: + type: vit_small_patch${..patch_size}_${..in_size}.dino + checkpoint_file: ${...host.data_root}/checkpoints/backbones/dino_deitsmall8_pretrain.pth + pretrained: true + patch_size: 8 + patch_feature_size: 28 + patch_feature_height: ${.patch_feature_size} + patch_feature_width: ${.patch_feature_size} + patch_feature_dim: 384 + num_patches: 784 + out_feature_dim: ${..model.decoder.in_feature_dim} + image_mean: + - 0.0 + - 0.0 + - 0.0 + image_std: + - 1.0 + - 1.0 + - 1.0 + image_max_pixel_value: 255.0 + augmentations: + - D4 + - ColorJitter + - GaussNoise + - Normalize +model: + name: pix2poly + decoder: + in_feature_size: ${...encoder.patch_feature_size} + in_feature_width: ${.in_feature_size} + in_feature_height: ${.in_feature_size} + in_feature_dim: 256 + tokenizer: + num_bins: ${...encoder.in_size} + shuffle_tokens: false + n_vertices: 192 + max_len: null + pad_idx: null + generation_steps: null + fusion: patch_concat + sinkhorn_iterations: 100 + label_smoothing: 0.0 + vertex_loss_weight: 1.0 + perm_loss_weight: 10.0 + batch_size: 16 + start_epoch: 0 + num_epochs: 200 + milestone: 0 + learning_rate: 0.0003 + weight_decay: 0.0001 +polygonization: + method: + - acm + common_params: + init_data_level: 0.5 + simple_method: + data_level: 0.5 + tolerance: + - 1.0 + seg_threshold: 0.5 + min_area: 10 + asm_method: + init_method: skeleton + data_level: 0.5 + loss_params: + coefs: + step_thresholds: + - 0 + - 100 + - 200 + - 300 + data: + - 1.0 + - 0.1 + - 0.0 + - 0.0 + crossfield: + - 0.0 + - 0.05 + - 0.0 + - 0.0 + length: + - 0.1 + - 0.01 + - 0.0 + - 0.0 + curvature: + - 0.0 + - 0.0 + - 1.0 + - 0.0 + corner: + - 0.0 + - 0.0 + - 0.5 + - 0.0 + junction: + - 0.0 + - 0.0 + - 0.5 + - 0.0 + curvature_dissimilarity_threshold: 2 + corner_angles: + - 45 + - 90 + - 135 + corner_angle_threshold: 22.5 + junction_angles: + - 0 + - 45 + - 90 + - 135 + junction_angle_weights: + - 1 + - 0.01 + - 0.1 + - 0.01 + junction_angle_threshold: 22.5 + lr: 0.1 + gamma: 0.995 + device: cuda + tolerance: + - 1 + seg_threshold: 0.5 + min_area: 10 + acm_method: + steps: 500 + data_level: 0.5 + data_coef: 0.1 + length_coef: 0.4 + crossfield_coef: 0.5 + poly_lr: 0.01 + warmup_iters: 100 + warmup_factor: 0.1 + device: cuda + tolerance: + - 1 + seg_threshold: 0.5 + min_area: 10 +dataset: + name: lidarpoly + size: ${..encoder.in_size} + path: ${host.data_root}/${.name}/${.size} + annotations: + train: ${..path}/annotations_train.json + val: ${..path}/annotations_val.json + test: ${..path}/annotations_test.json + train_subset: ${..run_type.train_subset} + val_subset: ${..run_type.val_subset} + augmentations: + - D4 +run_type: + name: release + batch_size: 16 + train_subset: null + val_subset: null + logging: INFO + num_workers: 16 + log_to_wandb: true +host: + name: g5k + data_root: /home/rsulzer/data + update_pbar_every: 60 +output_dir: ${.host.data_root}/${.model.name}_outputs/${.dataset.name}/${.encoder.in_size}/${.experiment_name} +checkpoint: null +checkpoint_file: null +experiment_name: lidar_pp_vit_bs2x16_mnv64 +group_name: v2_${.model.name} +multi_gpu: true +device: cuda +log_to_wandb: true +num_workers: ${.run_type.num_workers} +update_pbar_every: ${.host.update_pbar_every} +use_lidar: ${.encoder.use_lidar} +use_images: ${.encoder.use_images} +save_best: true +save_latest: true +save_every: 10 +val_every: 1 +best_val_loss: 10000000.0 +best_val_iou: 0.0 +eval: + gt_file: ${..dataset.annotations.val} + pred_file: ${..output_dir}/predictions/${..checkpoint}.json + modes: + - iou + experiments: + - model: ffl + experiment_name: + - 224/v3_image_vit_cnn_bs4x16 + - 224/v3_lidar_pp_vit_cnn_bs2x16 + - 224/fusion_vit_cnn_bs16 + - model: hisup + experiment_name: + - 224/v3_image_hrnet224_bs4x16 + - 224/v3_lidar_pp_vit_cnn_bs2x16 + - 224/early_fusion_vit_cnn_bs16 + - model: pix2poly + experiment_name: + - 224/image_only_bs4x16 + - 224/lidar_only_bs2x16 + - 224/fusion_bs2x16 + eval_file: results/metrics diff --git a/pix2poly/224/lidar_pp_vit_bs2x16_mnv64/.hydra/hydra.yaml b/pix2poly/224/lidar_pp_vit_bs2x16_mnv64/.hydra/hydra.yaml new file mode 100644 index 0000000000000000000000000000000000000000..976b7bf02fc22a42d6dc21a0dc322cfa0eae7a54 --- /dev/null +++ b/pix2poly/224/lidar_pp_vit_bs2x16_mnv64/.hydra/hydra.yaml @@ -0,0 +1,170 @@ +hydra: + run: + dir: ${...output_dir} + sweep: + dir: multirun/${now:%Y-%m-%d}/${now:%H-%M-%S} + subdir: ${hydra.job.num} + launcher: + _target_: hydra._internal.core_plugins.basic_launcher.BasicLauncher + sweeper: + _target_: hydra._internal.core_plugins.basic_sweeper.BasicSweeper + max_batch_size: null + params: null + help: + app_name: ${hydra.job.name} + header: '${hydra.help.app_name} is powered by Hydra. + + ' + footer: 'Powered by Hydra (https://hydra.cc) + + Use --hydra-help to view Hydra specific help + + ' + template: '${hydra.help.header} + + == Configuration groups == + + Compose your configuration from those groups (group=option) + + + $APP_CONFIG_GROUPS + + + == Config == + + Override anything in the config (foo.bar=value) + + + $CONFIG + + + ${hydra.help.footer} + + ' + hydra_help: + template: 'Hydra (${hydra.runtime.version}) + + See https://hydra.cc for more info. + + + == Flags == + + $FLAGS_HELP + + + == Configuration groups == + + Compose your configuration from those groups (For example, append hydra/job_logging=disabled + to command line) + + + $HYDRA_CONFIG_GROUPS + + + Use ''--cfg hydra'' to Show the Hydra config. + + ' + hydra_help: ??? + hydra_logging: + version: 1 + formatters: + simple: + format: '[%(asctime)s][HYDRA] %(message)s' + handlers: + console: + class: logging.StreamHandler + formatter: simple + stream: ext://sys.stdout + root: + level: INFO + handlers: + - console + loggers: + logging_example: + level: DEBUG + disable_existing_loggers: false + job_logging: + version: 1 + formatters: + simple: + format: '[%(asctime)s][%(name)s][%(levelname)s] - %(message)s' + handlers: + console: + class: logging.StreamHandler + formatter: simple + stream: ext://sys.stdout + file: + class: logging.FileHandler + formatter: simple + filename: ${hydra.runtime.output_dir}/${hydra.job.name}.log + root: + level: INFO + handlers: + - console + - file + disable_existing_loggers: false + env: {} + mode: RUN + searchpath: [] + callbacks: {} + output_subdir: .hydra + overrides: + hydra: + - hydra.mode=RUN + task: + - log_to_wandb=true + - host=g5k + - run_type=release + - multi_gpu=true + - experiment_name=lidar_pp_vit_bs2x16_mnv64 + - checkpoint=null + - model.batch_size=16 + - encoder=pointpillars_vit + - model=pix2poly + - model.num_epochs=200 + job: + name: train + chdir: null + override_dirname: checkpoint=null,encoder=pointpillars_vit,experiment_name=lidar_pp_vit_bs2x16_mnv64,host=g5k,log_to_wandb=true,model.batch_size=16,model.num_epochs=200,model=pix2poly,multi_gpu=true,run_type=release + id: ??? + num: ??? + config_name: config + env_set: {} + env_copy: [] + config: + override_dirname: + kv_sep: '=' + item_sep: ',' + exclude_keys: [] + runtime: + version: 1.3.2 + version_base: '1.3' + cwd: /home/rsulzer/python/PixelsPointsPolygons + config_sources: + - path: hydra.conf + schema: pkg + provider: hydra + - path: /home/rsulzer/python/PixelsPointsPolygons/config + schema: file + provider: main + - path: '' + schema: structured + provider: schema + output_dir: /home/rsulzer/data/pix2poly_outputs/lidarpoly/224/lidar_pp_vit_bs2x16_mnv64 + choices: + host: g5k + run_type: release + dataset: lidarpoly + polygonization: asm_acm + model: pix2poly + encoder: pointpillars_vit + hydra/env: default + hydra/callbacks: null + hydra/job_logging: default + hydra/hydra_logging: default + hydra/hydra_help: default + hydra/help: default + hydra/sweeper: basic + hydra/launcher: basic + hydra/output: default + verbose: false diff --git a/pix2poly/224/lidar_pp_vit_bs2x16_mnv64/.hydra/overrides.yaml b/pix2poly/224/lidar_pp_vit_bs2x16_mnv64/.hydra/overrides.yaml new file mode 100644 index 0000000000000000000000000000000000000000..f643187e49b0883d4ce419ff5a15c1d9b1b14591 --- /dev/null +++ b/pix2poly/224/lidar_pp_vit_bs2x16_mnv64/.hydra/overrides.yaml @@ -0,0 +1,10 @@ +- log_to_wandb=true +- host=g5k +- run_type=release +- multi_gpu=true +- experiment_name=lidar_pp_vit_bs2x16_mnv64 +- checkpoint=null +- model.batch_size=16 +- encoder=pointpillars_vit +- model=pix2poly +- model.num_epochs=200 diff --git a/pix2poly/224/lidar_pp_vit_bs2x16_mnv64/checkpoints/best_val_iou.pth b/pix2poly/224/lidar_pp_vit_bs2x16_mnv64/checkpoints/best_val_iou.pth new file mode 100644 index 0000000000000000000000000000000000000000..30a654b4acf8188bf196e781aedde2c826c259f6 --- /dev/null +++ b/pix2poly/224/lidar_pp_vit_bs2x16_mnv64/checkpoints/best_val_iou.pth @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:48cd975b856fecf4983317d995f92dc64cc313057932990918b210c2c7588239 +size 382720894 diff --git a/pix2poly/224/lidar_pp_vit_bs2x16_mnv64/predictions/best_val_iou.json b/pix2poly/224/lidar_pp_vit_bs2x16_mnv64/predictions/best_val_iou.json new file mode 100644 index 0000000000000000000000000000000000000000..8e8faab0c94c0c54318d4ebe40d98cc547bac024 --- /dev/null +++ b/pix2poly/224/lidar_pp_vit_bs2x16_mnv64/predictions/best_val_iou.json @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bf9f475325829a9fa46d1d4752c34e709ea4997c1d18f7689bf9a186b6b01846 +size 579502 diff --git a/pix2poly/224/lidar_pp_vit_bs2x16_mnv64/predictions_NY_val/best_val_iou.json b/pix2poly/224/lidar_pp_vit_bs2x16_mnv64/predictions_NY_val/best_val_iou.json new file mode 100644 index 0000000000000000000000000000000000000000..65e35ae54df65895123bb48ecf42181ec55391c4 --- /dev/null +++ b/pix2poly/224/lidar_pp_vit_bs2x16_mnv64/predictions_NY_val/best_val_iou.json @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:21464553c04144fed0fe20646bc91cea2c4fb3db30b9b3c485a40fb52f573d06 +size 1038872 diff --git a/pix2poly/224/lidar_pp_vit_bs2x16_mnv64/predictions_NZ_val/best_val_iou.json b/pix2poly/224/lidar_pp_vit_bs2x16_mnv64/predictions_NZ_val/best_val_iou.json new file mode 100644 index 0000000000000000000000000000000000000000..3fd4b429c578814dbd8e20ef4ed5c5ed745da11e --- /dev/null +++ b/pix2poly/224/lidar_pp_vit_bs2x16_mnv64/predictions_NZ_val/best_val_iou.json @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2a4a6d592a197cb1b14ac79842d5cc56865b7de6002824d85ddfa693a7ecde27 +size 196010 diff --git a/pix2poly/224/lidar_pp_vit_bs2x16_mnv64/predictions_Switzerland_test/best_val_iou.json b/pix2poly/224/lidar_pp_vit_bs2x16_mnv64/predictions_Switzerland_test/best_val_iou.json new file mode 100644 index 0000000000000000000000000000000000000000..ee8f1d99ce661c5c913df4447ddb4a9c6f8a9703 --- /dev/null +++ b/pix2poly/224/lidar_pp_vit_bs2x16_mnv64/predictions_Switzerland_test/best_val_iou.json @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3bc3d8496cf6dfa23532fcda6912895b0ccc119383c63da904ed1def98adead3 +size 8167334 diff --git a/pix2poly/224/lidar_pp_vit_bs2x16_mnv64/predictions_Switzerland_val/best_val_iou.json b/pix2poly/224/lidar_pp_vit_bs2x16_mnv64/predictions_Switzerland_val/best_val_iou.json new file mode 100644 index 0000000000000000000000000000000000000000..4c21e460636ed651af8f2f11a269c231295dc485 --- /dev/null +++ b/pix2poly/224/lidar_pp_vit_bs2x16_mnv64/predictions_Switzerland_val/best_val_iou.json @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:13496be9a5872de74441539fc8d2b392b17115a1282f2af625541c3dc5dd4a2b +size 577924 diff --git a/pix2poly/224/lidar_pp_vit_bs2x16_mnv64/predictions_test/best_val_iou.json b/pix2poly/224/lidar_pp_vit_bs2x16_mnv64/predictions_test/best_val_iou.json new file mode 100644 index 0000000000000000000000000000000000000000..f4c7f112b939e2f29f530f789ea675f3670ccf85 --- /dev/null +++ b/pix2poly/224/lidar_pp_vit_bs2x16_mnv64/predictions_test/best_val_iou.json @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1464811486550cb69e40638fde7ddcf1c902273a246091f7f3f7a1be88dc7bf6 +size 47938 diff --git a/pix2poly/224/lidar_pp_vit_bs2x16_mnv64/predictions_val/best_val_iou.json b/pix2poly/224/lidar_pp_vit_bs2x16_mnv64/predictions_val/best_val_iou.json new file mode 100644 index 0000000000000000000000000000000000000000..9f49d9badd04d12e48bff54956a75f7fef0d4c66 --- /dev/null +++ b/pix2poly/224/lidar_pp_vit_bs2x16_mnv64/predictions_val/best_val_iou.json @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f9ee34502a6741d12e740f7547c20afaaa3d636f7c7f056410359844e8beeb4a +size 1039129 diff --git a/pix2poly/224/v0_all_bs4x16/.hydra/config.yaml b/pix2poly/224/v0_all_bs4x16/.hydra/config.yaml new file mode 100644 index 0000000000000000000000000000000000000000..40cf4c8a2ed4ea1c5daca7a8f7daf48ca4e86bb5 --- /dev/null +++ b/pix2poly/224/v0_all_bs4x16/.hydra/config.yaml @@ -0,0 +1,210 @@ +host: + name: jeanzay + data_root: /lustre/fswork/projects/rech/cso/uku93eu/data + update_pbar_every: 60 +run_type: + name: release + batch_size: 16 + train_subset: null + val_subset: null + test_subset: null + logging: INFO + num_workers: 16 + log_to_wandb: true +polygonization: + method: + - acm + common_params: + init_data_level: 0.5 + simple_method: + data_level: 0.5 + tolerance: + - 1.0 + seg_threshold: 0.5 + min_area: 10 + asm_method: + init_method: skeleton + data_level: 0.5 + loss_params: + coefs: + step_thresholds: + - 0 + - 100 + - 200 + - 300 + data: + - 1.0 + - 0.1 + - 0.0 + - 0.0 + crossfield: + - 0.0 + - 0.05 + - 0.0 + - 0.0 + length: + - 0.1 + - 0.01 + - 0.0 + - 0.0 + curvature: + - 0.0 + - 0.0 + - 1.0 + - 0.0 + corner: + - 0.0 + - 0.0 + - 0.5 + - 0.0 + junction: + - 0.0 + - 0.0 + - 0.5 + - 0.0 + curvature_dissimilarity_threshold: 2 + corner_angles: + - 45 + - 90 + - 135 + corner_angle_threshold: 22.5 + junction_angles: + - 0 + - 45 + - 90 + - 135 + junction_angle_weights: + - 1 + - 0.01 + - 0.1 + - 0.01 + junction_angle_threshold: 22.5 + lr: 0.1 + gamma: 0.995 + device: cuda + tolerance: + - 1 + seg_threshold: 0.5 + min_area: 10 + acm_method: + steps: 500 + data_level: 0.5 + data_coef: 0.1 + length_coef: 0.4 + crossfield_coef: 0.5 + poly_lr: 0.01 + warmup_iters: 100 + warmup_factor: 0.1 + device: cuda + tolerance: + - 1 + seg_threshold: 0.5 + min_area: 10 +dataset: + name: lidarpoly + size: ${..experiment.encoder.in_size} + path: ${host.data_root}/${.name}/${.size} + annotations: + train: ${..path}/annotations_${...country}_train.json + val: ${..path}/annotations_${...country}_val.json + test: ${..path}/annotations_${...country}_test.json + ffl_stats: + train: ${..path}/ffl/train/stats-${...country}.pt + val: ${..path}/ffl/val/stats-${...country}.pt + test: ${..path}/ffl/test/stats-${...country}.pt + train_subset: ${..run_type.train_subset} + val_subset: ${..run_type.val_subset} + test_subset: ${..run_type.test_subset} +experiment: + encoder: + name: early_fusion_vit + use_images: true + use_lidar: true + in_size: 224 + in_height: ${.in_size} + in_width: ${.in_size} + in_voxel_size: + x: 8 + 'y': 8 + z: 100 + max_num_points_per_voxel: 64 + max_num_voxels: + train: 784 + test: 784 + out_feature_width: 28 + out_feature_height: 28 + vit: + type: vit_small_patch${..patch_size}_${..in_size}.dino + checkpoint_file: ${....host.data_root}/checkpoints/backbones/dino_deitsmall8_pretrain.pth + pretrained: true + patch_size: 8 + patch_feature_size: 28 + patch_feature_height: ${.patch_feature_size} + patch_feature_width: ${.patch_feature_size} + patch_feature_dim: 384 + num_patches: 784 + out_feature_dim: ${..model.decoder.in_feature_dim} + image_mean: + - 0.0 + - 0.0 + - 0.0 + image_std: + - 1.0 + - 1.0 + - 1.0 + image_max_pixel_value: 255.0 + augmentations: + - D4 + - ColorJitter + - GaussNoise + - Normalize + model: + name: pix2poly + decoder: + in_feature_size: ${...encoder.patch_feature_size} + in_feature_width: ${.in_feature_size} + in_feature_height: ${.in_feature_size} + in_feature_dim: 256 + tokenizer: + num_bins: ${...encoder.in_size} + shuffle_tokens: false + n_vertices: 192 + max_len: null + pad_idx: null + generation_steps: null + fusion: patch_concat + sinkhorn_iterations: 100 + label_smoothing: 0.0 + vertex_loss_weight: 1.0 + perm_loss_weight: 10.0 + batch_size: ${...run_type.batch_size} + start_epoch: 0 + num_epochs: 200 + milestone: 0 + learning_rate: 0.0003 + weight_decay: 0.0001 + name: v0_all_bs4x16 + group_name: v2_${.model.name} +output_dir: ${.host.data_root}/${.experiment.model.name}_outputs/${.dataset.name}/${.experiment.encoder.in_size}/${.experiment.name} +checkpoint: null +checkpoint_file: null +save_best: true +save_latest: true +save_every: 10 +val_every: 1 +best_val_loss: 10000000.0 +best_val_iou: 0.0 +multi_gpu: true +device: cuda +log_to_wandb: true +num_workers: ${.run_type.num_workers} +update_pbar_every: ${.host.update_pbar_every} +country: all +use_lidar: ${.experiment.encoder.use_lidar} +use_images: ${.experiment.encoder.use_images} +eval: + split: val + pred_file: ${..output_dir}/predictions_${..country}_${.split}/${..checkpoint}.json + modes: + - iou + eval_file: results/metrics diff --git a/pix2poly/224/v0_all_bs4x16/.hydra/hydra.yaml b/pix2poly/224/v0_all_bs4x16/.hydra/hydra.yaml new file mode 100644 index 0000000000000000000000000000000000000000..f988dd201d38de80bda0fb9da1b7eb526e37dc45 --- /dev/null +++ b/pix2poly/224/v0_all_bs4x16/.hydra/hydra.yaml @@ -0,0 +1,169 @@ +hydra: + run: + dir: ${...output_dir} + sweep: + dir: multirun/${now:%Y-%m-%d}/${now:%H-%M-%S} + subdir: ${hydra.job.num} + launcher: + _target_: hydra._internal.core_plugins.basic_launcher.BasicLauncher + sweeper: + _target_: hydra._internal.core_plugins.basic_sweeper.BasicSweeper + max_batch_size: null + params: null + help: + app_name: ${hydra.job.name} + header: '${hydra.help.app_name} is powered by Hydra. + + ' + footer: 'Powered by Hydra (https://hydra.cc) + + Use --hydra-help to view Hydra specific help + + ' + template: '${hydra.help.header} + + == Configuration groups == + + Compose your configuration from those groups (group=option) + + + $APP_CONFIG_GROUPS + + + == Config == + + Override anything in the config (foo.bar=value) + + + $CONFIG + + + ${hydra.help.footer} + + ' + hydra_help: + template: 'Hydra (${hydra.runtime.version}) + + See https://hydra.cc for more info. + + + == Flags == + + $FLAGS_HELP + + + == Configuration groups == + + Compose your configuration from those groups (For example, append hydra/job_logging=disabled + to command line) + + + $HYDRA_CONFIG_GROUPS + + + Use ''--cfg hydra'' to Show the Hydra config. + + ' + hydra_help: ??? + hydra_logging: + version: 1 + formatters: + simple: + format: '[%(asctime)s][HYDRA] %(message)s' + handlers: + console: + class: logging.StreamHandler + formatter: simple + stream: ext://sys.stdout + root: + level: INFO + handlers: + - console + loggers: + logging_example: + level: DEBUG + disable_existing_loggers: false + job_logging: + version: 1 + formatters: + simple: + format: '[%(asctime)s][%(name)s][%(levelname)s] - %(message)s' + handlers: + console: + class: logging.StreamHandler + formatter: simple + stream: ext://sys.stdout + file: + class: logging.FileHandler + formatter: simple + filename: ${hydra.runtime.output_dir}/${hydra.job.name}.log + root: + level: INFO + handlers: + - console + - file + disable_existing_loggers: false + env: {} + mode: RUN + searchpath: [] + callbacks: {} + output_subdir: .hydra + overrides: + hydra: + - hydra.mode=RUN + task: + - log_to_wandb=true + - host=jz + - run_type=release + - multi_gpu=true + - checkpoint=null + - experiment=p2p_fusion + - experiment.name=v0_all_bs4x16 + - country=all + job: + name: train + chdir: null + override_dirname: checkpoint=null,country=all,experiment.name=v0_all_bs4x16,experiment=p2p_fusion,host=jz,log_to_wandb=true,multi_gpu=true,run_type=release + id: ??? + num: ??? + config_name: config + env_set: {} + env_copy: [] + config: + override_dirname: + kv_sep: '=' + item_sep: ',' + exclude_keys: [] + runtime: + version: 1.3.2 + version_base: '1.3' + cwd: /lustre/fswork/projects/rech/cso/uku93eu/python/PixelsPointsPolygons + config_sources: + - path: hydra.conf + schema: pkg + provider: hydra + - path: /lustre/fswork/projects/rech/cso/uku93eu/python/PixelsPointsPolygons/config + schema: file + provider: main + - path: '' + schema: structured + provider: schema + output_dir: /lustre/fswork/projects/rech/cso/uku93eu/data/pix2poly_outputs/lidarpoly/224/v0_all_bs4x16 + choices: + experiment: p2p_fusion + model@experiment.model: pix2poly + encoder@experiment.encoder: early_fusion_vit + dataset: lidarpoly + polygonization: asm_acm + run_type: release + host: jz + hydra/env: default + hydra/callbacks: null + hydra/job_logging: default + hydra/hydra_logging: default + hydra/hydra_help: default + hydra/help: default + hydra/sweeper: basic + hydra/launcher: basic + hydra/output: default + verbose: false diff --git a/pix2poly/224/v0_all_bs4x16/.hydra/overrides.yaml b/pix2poly/224/v0_all_bs4x16/.hydra/overrides.yaml new file mode 100644 index 0000000000000000000000000000000000000000..5339cdec99139ae220bcafe10b607ffa72f4dbfc --- /dev/null +++ b/pix2poly/224/v0_all_bs4x16/.hydra/overrides.yaml @@ -0,0 +1,8 @@ +- log_to_wandb=true +- host=jz +- run_type=release +- multi_gpu=true +- checkpoint=null +- experiment=p2p_fusion +- experiment.name=v0_all_bs4x16 +- country=all diff --git a/pix2poly/224/v0_all_bs4x16/checkpoints/best_val_iou.pth b/pix2poly/224/v0_all_bs4x16/checkpoints/best_val_iou.pth new file mode 100644 index 0000000000000000000000000000000000000000..325c28d023bcb04281c4258143b9cf3fabcf9af4 --- /dev/null +++ b/pix2poly/224/v0_all_bs4x16/checkpoints/best_val_iou.pth @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e0432b40099c4ce3fe25d25978a77c1b3373d30adc3120d280d0f3e91b001336 +size 415485098 diff --git a/pix2poly/224/v0_all_bs4x16/predictions/best_val_iou.json b/pix2poly/224/v0_all_bs4x16/predictions/best_val_iou.json new file mode 100644 index 0000000000000000000000000000000000000000..cb2ad6c2610cc9ba36ac865ae18b87097635cb2f --- /dev/null +++ b/pix2poly/224/v0_all_bs4x16/predictions/best_val_iou.json @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:16ad9f05dfb61b31a9583271bef3146da22ba47a2cdb77da02be59394aa8d8d7 +size 1658551 diff --git a/pix2poly/224/v0_all_bs4x16/predictions_all_test/best_val_iou.json b/pix2poly/224/v0_all_bs4x16/predictions_all_test/best_val_iou.json new file mode 100644 index 0000000000000000000000000000000000000000..10ace39a29815ca20164b47dba1d175dd56f1dd3 --- /dev/null +++ b/pix2poly/224/v0_all_bs4x16/predictions_all_test/best_val_iou.json @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e15c63efbd80296fb31e64ed865c3e4747f65fff97c7ef3de61e8c4224556245 +size 35094223 diff --git a/pix2poly/224/v0_all_bs4x16/predictions_all_val/best_val_iou.json b/pix2poly/224/v0_all_bs4x16/predictions_all_val/best_val_iou.json new file mode 100644 index 0000000000000000000000000000000000000000..53f2b117d772d8d01385ac74860e840079752ccd --- /dev/null +++ b/pix2poly/224/v0_all_bs4x16/predictions_all_val/best_val_iou.json @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5511d9a3eacfd5302263eaec8128d437576599955ea52cf98ebc2bef171ce6b6 +size 43206 diff --git a/pix2poly/224/v4_image_vit_bs4x16/.hydra/config.yaml b/pix2poly/224/v4_image_vit_bs4x16/.hydra/config.yaml new file mode 100644 index 0000000000000000000000000000000000000000..fbc7d377630483a0ceffb3920c1bb62c3709fc76 --- /dev/null +++ b/pix2poly/224/v4_image_vit_bs4x16/.hydra/config.yaml @@ -0,0 +1,199 @@ +host: + name: jeanzay + data_root: /lustre/fswork/projects/rech/cso/uku93eu/data + update_pbar_every: 60 +run_type: + name: release + batch_size: 16 + train_subset: null + val_subset: null + test_subset: null + logging: INFO + num_workers: 16 + log_to_wandb: true +polygonization: + method: + - acm + common_params: + init_data_level: 0.5 + simple_method: + data_level: 0.5 + tolerance: + - 1.0 + seg_threshold: 0.5 + min_area: 10 + asm_method: + init_method: skeleton + data_level: 0.5 + loss_params: + coefs: + step_thresholds: + - 0 + - 100 + - 200 + - 300 + data: + - 1.0 + - 0.1 + - 0.0 + - 0.0 + crossfield: + - 0.0 + - 0.05 + - 0.0 + - 0.0 + length: + - 0.1 + - 0.01 + - 0.0 + - 0.0 + curvature: + - 0.0 + - 0.0 + - 1.0 + - 0.0 + corner: + - 0.0 + - 0.0 + - 0.5 + - 0.0 + junction: + - 0.0 + - 0.0 + - 0.5 + - 0.0 + curvature_dissimilarity_threshold: 2 + corner_angles: + - 45 + - 90 + - 135 + corner_angle_threshold: 22.5 + junction_angles: + - 0 + - 45 + - 90 + - 135 + junction_angle_weights: + - 1 + - 0.01 + - 0.1 + - 0.01 + junction_angle_threshold: 22.5 + lr: 0.1 + gamma: 0.995 + device: cuda + tolerance: + - 1 + seg_threshold: 0.5 + min_area: 10 + acm_method: + steps: 500 + data_level: 0.5 + data_coef: 0.1 + length_coef: 0.4 + crossfield_coef: 0.5 + poly_lr: 0.01 + warmup_iters: 100 + warmup_factor: 0.1 + device: cuda + tolerance: + - 1 + seg_threshold: 0.5 + min_area: 10 +dataset: + name: lidarpoly + size: ${..experiment.encoder.in_size} + path: ${host.data_root}/${.name}/${.size} + annotations: + train: ${..path}/annotations_${...country}_train.json + val: ${..path}/annotations_${...country}_val.json + test: ${..path}/annotations_${...country}_test.json + train_subset: ${..run_type.train_subset} + val_subset: ${..run_type.val_subset} + test_subset: ${..run_type.test_subset} + augmentations: + - D4 +experiment: + encoder: + name: vit + use_images: true + use_lidar: false + type: vit_small_patch${.patch_size}_${.in_size}.dino + checkpoint_file: ${...host.data_root}/checkpoints/backbones/dino_deitsmall8_pretrain.pth + pretrained: true + in_size: 224 + in_height: ${.in_size} + in_width: ${.in_size} + patch_size: 8 + patch_feature_size: 28 + patch_feature_height: ${.patch_feature_size} + patch_feature_width: ${.patch_feature_size} + patch_feature_dim: 384 + num_patches: 784 + out_feature_dim: ${..model.decoder.in_feature_dim} + image_mean: + - 0.0 + - 0.0 + - 0.0 + image_std: + - 1.0 + - 1.0 + - 1.0 + image_max_pixel_value: 255.0 + augmentations: + - D4 + - ColorJitter + - GaussNoise + - Normalize + model: + name: pix2poly + decoder: + in_feature_size: ${...encoder.patch_feature_size} + in_feature_width: ${.in_feature_size} + in_feature_height: ${.in_feature_size} + in_feature_dim: 256 + tokenizer: + num_bins: ${...encoder.in_size} + shuffle_tokens: false + n_vertices: 192 + max_len: null + pad_idx: null + generation_steps: null + fusion: patch_concat + sinkhorn_iterations: 100 + label_smoothing: 0.0 + vertex_loss_weight: 1.0 + perm_loss_weight: 10.0 + batch_size: ${...run_type.batch_size} + start_epoch: 0 + num_epochs: 200 + milestone: 0 + learning_rate: 0.0003 + weight_decay: 0.0001 + name: v4_image_vit_bs4x16 + group_name: v2_${.model.name} +output_dir: ${.host.data_root}/${.experiment.model.name}_outputs/${.dataset.name}/${.experiment.encoder.in_size}/${.experiment.name} +checkpoint: null +checkpoint_file: null +multi_gpu: true +device: cuda +log_to_wandb: true +num_workers: ${.run_type.num_workers} +update_pbar_every: ${.host.update_pbar_every} +country: Switzerland +use_lidar: ${.experiment.encoder.use_lidar} +use_images: ${.experiment.encoder.use_images} +save_best: true +save_latest: true +save_every: 10 +val_every: 1 +best_val_loss: 10000000.0 +best_val_iou: 0.0 +eval: + split: val + pred_file: ${..output_dir}/predictions/${..checkpoint}.json + modes: + - iou + - polis + - mta + eval_file: results/metrics diff --git a/pix2poly/224/v4_image_vit_bs4x16/.hydra/hydra.yaml b/pix2poly/224/v4_image_vit_bs4x16/.hydra/hydra.yaml new file mode 100644 index 0000000000000000000000000000000000000000..b191f4431e46671aed040a5315e212aff941fce8 --- /dev/null +++ b/pix2poly/224/v4_image_vit_bs4x16/.hydra/hydra.yaml @@ -0,0 +1,167 @@ +hydra: + run: + dir: ${...output_dir} + sweep: + dir: multirun/${now:%Y-%m-%d}/${now:%H-%M-%S} + subdir: ${hydra.job.num} + launcher: + _target_: hydra._internal.core_plugins.basic_launcher.BasicLauncher + sweeper: + _target_: hydra._internal.core_plugins.basic_sweeper.BasicSweeper + max_batch_size: null + params: null + help: + app_name: ${hydra.job.name} + header: '${hydra.help.app_name} is powered by Hydra. + + ' + footer: 'Powered by Hydra (https://hydra.cc) + + Use --hydra-help to view Hydra specific help + + ' + template: '${hydra.help.header} + + == Configuration groups == + + Compose your configuration from those groups (group=option) + + + $APP_CONFIG_GROUPS + + + == Config == + + Override anything in the config (foo.bar=value) + + + $CONFIG + + + ${hydra.help.footer} + + ' + hydra_help: + template: 'Hydra (${hydra.runtime.version}) + + See https://hydra.cc for more info. + + + == Flags == + + $FLAGS_HELP + + + == Configuration groups == + + Compose your configuration from those groups (For example, append hydra/job_logging=disabled + to command line) + + + $HYDRA_CONFIG_GROUPS + + + Use ''--cfg hydra'' to Show the Hydra config. + + ' + hydra_help: ??? + hydra_logging: + version: 1 + formatters: + simple: + format: '[%(asctime)s][HYDRA] %(message)s' + handlers: + console: + class: logging.StreamHandler + formatter: simple + stream: ext://sys.stdout + root: + level: INFO + handlers: + - console + loggers: + logging_example: + level: DEBUG + disable_existing_loggers: false + job_logging: + version: 1 + formatters: + simple: + format: '[%(asctime)s][%(name)s][%(levelname)s] - %(message)s' + handlers: + console: + class: logging.StreamHandler + formatter: simple + stream: ext://sys.stdout + file: + class: logging.FileHandler + formatter: simple + filename: ${hydra.runtime.output_dir}/${hydra.job.name}.log + root: + level: INFO + handlers: + - console + - file + disable_existing_loggers: false + env: {} + mode: RUN + searchpath: [] + callbacks: {} + output_subdir: .hydra + overrides: + hydra: + - hydra.mode=RUN + task: + - log_to_wandb=true + - host=jz + - run_type=release + - multi_gpu=true + - checkpoint=null + - experiment=p2p_image + job: + name: train + chdir: null + override_dirname: checkpoint=null,experiment=p2p_image,host=jz,log_to_wandb=true,multi_gpu=true,run_type=release + id: ??? + num: ??? + config_name: config + env_set: {} + env_copy: [] + config: + override_dirname: + kv_sep: '=' + item_sep: ',' + exclude_keys: [] + runtime: + version: 1.3.2 + version_base: '1.3' + cwd: /lustre/fswork/projects/rech/cso/uku93eu/python/PixelsPointsPolygons + config_sources: + - path: hydra.conf + schema: pkg + provider: hydra + - path: /lustre/fswork/projects/rech/cso/uku93eu/python/PixelsPointsPolygons/config + schema: file + provider: main + - path: '' + schema: structured + provider: schema + output_dir: /lustre/fswork/projects/rech/cso/uku93eu/data/pix2poly_outputs/lidarpoly/224/v4_image_vit_bs4x16 + choices: + experiment: p2p_image + model@experiment.model: pix2poly + encoder@experiment.encoder: vit + dataset: lidarpoly + polygonization: asm_acm + run_type: release + host: jz + hydra/env: default + hydra/callbacks: null + hydra/job_logging: default + hydra/hydra_logging: default + hydra/hydra_help: default + hydra/help: default + hydra/sweeper: basic + hydra/launcher: basic + hydra/output: default + verbose: false diff --git a/pix2poly/224/v4_image_vit_bs4x16/.hydra/overrides.yaml b/pix2poly/224/v4_image_vit_bs4x16/.hydra/overrides.yaml new file mode 100644 index 0000000000000000000000000000000000000000..d558dd2f5553a0ed529162426be1a8f89f35866a --- /dev/null +++ b/pix2poly/224/v4_image_vit_bs4x16/.hydra/overrides.yaml @@ -0,0 +1,6 @@ +- log_to_wandb=true +- host=jz +- run_type=release +- multi_gpu=true +- checkpoint=null +- experiment=p2p_image diff --git a/pix2poly/224/v4_image_vit_bs4x16/checkpoints/best_val_iou.pth b/pix2poly/224/v4_image_vit_bs4x16/checkpoints/best_val_iou.pth new file mode 100644 index 0000000000000000000000000000000000000000..88a334648d2c40dd481859ac96e08929d783224c --- /dev/null +++ b/pix2poly/224/v4_image_vit_bs4x16/checkpoints/best_val_iou.pth @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a27d14cc8d62f37a4664317d7092eff77036455be88ecbf9240b2b63802eab62 +size 383288038 diff --git a/pix2poly/224/v4_image_vit_bs4x16/predictions/best_val_iou.json b/pix2poly/224/v4_image_vit_bs4x16/predictions/best_val_iou.json new file mode 100644 index 0000000000000000000000000000000000000000..f4c6e2001a93af4992d2b3256cf3d81d52c96077 --- /dev/null +++ b/pix2poly/224/v4_image_vit_bs4x16/predictions/best_val_iou.json @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a972001c6f6832c89f2f2e2b8b5d56af05c9618c942e719bceb05eee3950e9b0 +size 462026 diff --git a/pix2poly/224/v4_image_vit_bs4x16/predictions_NY_val/best_val_iou.json b/pix2poly/224/v4_image_vit_bs4x16/predictions_NY_val/best_val_iou.json new file mode 100644 index 0000000000000000000000000000000000000000..ce9cb94e05cc7983e22d729b700e2531254fb196 --- /dev/null +++ b/pix2poly/224/v4_image_vit_bs4x16/predictions_NY_val/best_val_iou.json @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5a2eac1b221363fc74e5a6865227d16e06d54be6aa6cdb7cde8ea5d077cf0f37 +size 356826 diff --git a/pix2poly/224/v4_image_vit_bs4x16/predictions_NZ_val/best_val_iou.json b/pix2poly/224/v4_image_vit_bs4x16/predictions_NZ_val/best_val_iou.json new file mode 100644 index 0000000000000000000000000000000000000000..29ad761ae0874754bc6519aac32d64dacc03b2da --- /dev/null +++ b/pix2poly/224/v4_image_vit_bs4x16/predictions_NZ_val/best_val_iou.json @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e0ef49f3cc0be1d35056a8a8f1413d7bc78898023aa71d987277135003f6b7f4 +size 36355 diff --git a/pix2poly/224/v4_image_vit_bs4x16/predictions_Switzerland_test/best_val_iou.json b/pix2poly/224/v4_image_vit_bs4x16/predictions_Switzerland_test/best_val_iou.json new file mode 100644 index 0000000000000000000000000000000000000000..da984bd2e2cd0c65ec99dbf71e33f5f6b7274476 --- /dev/null +++ b/pix2poly/224/v4_image_vit_bs4x16/predictions_Switzerland_test/best_val_iou.json @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0e0683082c44df1131aa70b071c6d0d368c4f9fd077e9a487707881515fd85fa +size 7780182 diff --git a/pix2poly/224/v4_image_vit_bs4x16/predictions_Switzerland_val/best_val_iou.json b/pix2poly/224/v4_image_vit_bs4x16/predictions_Switzerland_val/best_val_iou.json new file mode 100644 index 0000000000000000000000000000000000000000..ad01e3c6b04051800c631e3ef9dacc44fceed219 --- /dev/null +++ b/pix2poly/224/v4_image_vit_bs4x16/predictions_Switzerland_val/best_val_iou.json @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1126f59e7ed29ec45143e31ec7de667abe64c89df29376d1a8323ffe0b5845a3 +size 458422