diff --git a/_modules/myria3d/callbacks/comet_callbacks.html b/_modules/myria3d/callbacks/comet_callbacks.html index c1108311..19b0ff84 100644 --- a/_modules/myria3d/callbacks/comet_callbacks.html +++ b/_modules/myria3d/callbacks/comet_callbacks.html @@ -238,16 +238,17 @@

Source code for myria3d.callbacks.comet_callbacks

logger.experiment.log_parameter("experiment_logs_dirpath", log_path)
-
[docs]def log_comet_cm(lightning_module, confmat, phase): - logger = get_comet_logger(trainer=lightning_module) +
[docs]def log_comet_cm(pl_module, confmat, phase, class_names): + """Method used in the metric logging callback.""" + logger = get_comet_logger(trainer=pl_module.trainer) if logger: - labels = list(lightning_module.hparams.classification_dict.values()) + class_names = list(pl_module.hparams.classification_dict.values()) logger.experiment.log_confusion_matrix( matrix=confmat.cpu().numpy().tolist(), - labels=labels, + labels=class_names, file_name=f"{phase}-confusion-matrix", title="{phase} confusion matrix", - epoch=lightning_module.current_epoch, + epoch=pl_module.current_epoch, )
diff --git a/_modules/myria3d/models/model.html b/_modules/myria3d/models/model.html index 7008ece3..c200edeb 100644 --- a/_modules/myria3d/models/model.html +++ b/_modules/myria3d/models/model.html @@ -168,10 +168,7 @@

Source code for myria3d.models.model

 from torch import nn
 from torch_geometric.data import Batch
 from torch_geometric.nn import knn_interpolate
-from torchmetrics.classification import MulticlassJaccardIndex
-from myria3d.callbacks.comet_callbacks import log_comet_cm
 
-from myria3d.metrics.iou import iou
 from myria3d.models.modules.pyg_randla_net import PyGRandLANet
 from myria3d.utils import utils
 
@@ -198,14 +195,12 @@ 

Source code for myria3d.models.model

 
 
 
[docs]class Model(LightningModule): - """This LightningModule implements the logic for model trainin, validation, tests, and prediction. + """Model training, validation, test and prediction of point cloud semantic segmentation. - It is fully initialized by named parameters for maximal flexibility with hydra configs. + During training and validation, metrics are calculed based on sumbsampled points only. + At test time, metrics are calculated considering all the points. - During training and validation, IoU is calculed based on sumbsampled points only, and is therefore - an approximation. - At test time, IoU is calculated considering all the points. To keep this module light, a callback - takes care of the interpolation of predictions between all points. + To keep this module light, a callback takes care of metric computations. Read the Pytorch Lightning docs: @@ -216,7 +211,7 @@

Source code for myria3d.models.model

     def __init__(self, **kwargs):
         """Initialization method of the Model lightning module.
 
-        Everything needed to train/test/predict with a neural architecture, including
+        Everything needed to train/evaluate/test/predict with a neural architecture, including
         the architecture class name and its hyperparameter.
 
         See config files for a list of kwargs.
@@ -234,22 +229,6 @@ 

Source code for myria3d.models.model

         self.softmax = nn.Softmax(dim=1)
         self.criterion = kwargs.get("criterion")
 
-
[docs] def on_fit_start(self) -> None: - self.criterion = self.criterion.to(self.device) - self.train_iou = MulticlassJaccardIndex(self.hparams.num_classes).to(self.device) - self.val_iou = MulticlassJaccardIndex(self.hparams.num_classes).to(self.device)
- -
[docs] def on_test_start(self) -> None: - self.test_iou = MulticlassJaccardIndex(self.hparams.num_classes).to(self.device)
- - def log_all_class_ious(self, confmat, phase: str): - ious = iou(confmat) - for class_iou, class_name in zip(ious, self.hparams.classification_dict.values()): - metric_name = f"{phase}/iou_CLASS_{class_name}" - self.log( - metric_name, class_iou, on_step=False, on_epoch=True, metric_attribute=metric_name - ) -
[docs] def forward(self, batch: Batch) -> torch.Tensor: """Forward pass of neural network. @@ -291,8 +270,6 @@

Source code for myria3d.models.model

 
[docs] def training_step(self, batch: Batch, batch_idx: int) -> dict: """Training step. - Makes a model pass. Then, computes loss and predicted class of subsampled points to log loss and IoU. - Args: batch (torch_geometric.data.Batch): Batch of data including x (features), pos (xyz positions), and y (targets, optionnal) in (B*N,C) format. @@ -305,25 +282,11 @@

Source code for myria3d.models.model

         self.criterion = self.criterion.to(logits.device)
         loss = self.criterion(logits, targets)
         self.log("train/loss", loss, on_step=True, on_epoch=True, prog_bar=False)
-
-        with torch.no_grad():
-            preds = torch.argmax(logits.detach(), dim=1)
-            self.train_iou(preds, targets)
-
         return {"loss": loss, "logits": logits, "targets": targets}
-
[docs] def on_train_epoch_end(self) -> None: - iou_epoch = self.train_iou.to(self.device).compute() - self.log("train/iou", iou_epoch, on_step=False, on_epoch=True, prog_bar=True) - self.log_all_class_ious(self.train_iou.confmat, "train") - log_comet_cm(self, self.train_iou.confmat, "train") - self.train_iou.reset()
-
[docs] def validation_step(self, batch: Batch, batch_idx: int) -> dict: """Validation step. - Makes a model pass. Then, computes loss and predicted class of subsampled points to log loss and IoU. - Args: batch (torch_geometric.data.Batch): Batch of data including x (features), pos (xyz positions), and y (targets, optionnal) in (B*N,C) format. @@ -337,26 +300,8 @@

Source code for myria3d.models.model

         self.criterion = self.criterion.to(logits.device)
         loss = self.criterion(logits, targets)
         self.log("val/loss", loss, on_step=True, on_epoch=True)
-
-        preds = torch.argmax(logits.detach(), dim=1)
-        self.val_iou = self.val_iou.to(preds.device)
-        self.val_iou(preds, targets)
-
         return {"loss": loss, "logits": logits, "targets": targets}
-
[docs] def on_validation_epoch_end(self) -> None: - """At the end of a validation epoch, compute the IoU. - - Args: - outputs : output of validation_step - - """ - iou_epoch = self.val_iou.to(self.device).compute() - self.log("val/iou", iou_epoch, on_step=False, on_epoch=True, prog_bar=True) - self.log_all_class_ious(self.val_iou.confmat, "val") - log_comet_cm(self, self.val_iou.confmat, "val") - self.val_iou.reset()
-
[docs] def test_step(self, batch: Batch, batch_idx: int): """Test step. @@ -372,26 +317,8 @@

Source code for myria3d.models.model

         self.criterion = self.criterion.to(logits.device)
         loss = self.criterion(logits, targets)
         self.log("test/loss", loss, on_step=False, on_epoch=True)
-
-        preds = torch.argmax(logits, dim=1)
-        self.test_iou = self.test_iou.to(preds.device)
-        self.test_iou(preds, targets)
-
         return {"loss": loss, "logits": logits, "targets": targets}
-
[docs] def on_test_epoch_end(self) -> None: - """At the end of a validation epoch, compute the IoU. - - Args: - outputs : output of test - - """ - iou_epoch = self.test_iou.to(self.device).compute() - self.log("test/iou", iou_epoch, on_step=False, on_epoch=True, prog_bar=True) - self.log_all_class_ious(self.test_iou.confmat, "test") - log_comet_cm(self, self.test_iou.confmat, "test") - self.test_iou.reset()
-
[docs] def predict_step(self, batch: Batch) -> dict: """Prediction step. diff --git a/apidoc/configs.html b/apidoc/configs.html index 6fe588a8..79f51139 100644 --- a/apidoc/configs.html +++ b/apidoc/configs.html @@ -367,6 +367,9 @@

Default configuration mode: min patience: 6 min_delta: 0 + model_detailed_metrics: + _target_: myria3d.callbacks.metric_callbacks.ModelMetrics + num_classes: ${model.num_classes} model: optimizer: _target_: functools.partial diff --git a/apidoc/myria3d.callbacks.html b/apidoc/myria3d.callbacks.html index b63d65c8..063f81fb 100644 --- a/apidoc/myria3d.callbacks.html +++ b/apidoc/myria3d.callbacks.html @@ -207,8 +207,9 @@

Submodules
-myria3d.callbacks.comet_callbacks.log_comet_cm(lightning_module, confmat, phase)[source]
-
+myria3d.callbacks.comet_callbacks.log_comet_cm(pl_module, confmat, phase, class_names)[source] +

Method used in the metric logging callback.

+
diff --git a/apidoc/myria3d.model.html b/apidoc/myria3d.model.html index 727eee0f..db17dcc4 100644 --- a/apidoc/myria3d.model.html +++ b/apidoc/myria3d.model.html @@ -172,12 +172,10 @@

myria3d.models
class myria3d.models.model.Model(**kwargs)[source]
-

This LightningModule implements the logic for model trainin, validation, tests, and prediction.

-

It is fully initialized by named parameters for maximal flexibility with hydra configs.

-

During training and validation, IoU is calculed based on sumbsampled points only, and is therefore -an approximation. -At test time, IoU is calculated considering all the points. To keep this module light, a callback -takes care of the interpolation of predictions between all points.

+

Model training, validation, test and prediction of point cloud semantic segmentation.

+

During training and validation, metrics are calculed based on sumbsampled points only. +At test time, metrics are calculated considering all the points.

+

To keep this module light, a callback takes care of metric computations.

Read the Pytorch Lightning docs:

https://pytorch-lightning.readthedocs.io/en/latest/common/lightning_module.html

@@ -214,67 +212,6 @@

myria3d.models -
-on_fit_start() None[source]
-

Called at the very beginning of fit.

-

If on DDP it is called on every process

-

- -
-
-on_test_epoch_end() None[source]
-

At the end of a validation epoch, compute the IoU.

-
-
Parameters
-

outputs – output of test

-
-
-
- -
-
-on_test_start() None[source]
-

Called at the beginning of testing.

-
- -
-
-on_train_epoch_end() None[source]
-

Called in the training loop at the very end of the epoch.

-

To access all batch outputs at the end of the epoch, you can cache step outputs as an attribute of the -LightningModule and access them in this hook:

-
class MyLightningModule(L.LightningModule):
-    def __init__(self):
-        super().__init__()
-        self.training_step_outputs = []
-
-    def training_step(self):
-        loss = ...
-        self.training_step_outputs.append(loss)
-        return loss
-
-    def on_train_epoch_end(self):
-        # do something with all training_step outputs, for example:
-        epoch_mean = torch.stack(self.training_step_outputs).mean()
-        self.log("training_epoch_mean", epoch_mean)
-        # free up the memory
-        self.training_step_outputs.clear()
-
-
-
- -
-
-on_validation_epoch_end() None[source]
-

At the end of a validation epoch, compute the IoU.

-
-
Parameters
-

outputs – output of validation_step

-
-
-
-
predict_step(batch: torch_geometric.data.batch.Batch) dict[source]
@@ -320,7 +257,6 @@

myria3d.models training_step(batch: torch_geometric.data.batch.Batch, batch_idx: int) dict[source]

Training step.

-

Makes a model pass. Then, computes loss and predicted class of subsampled points to log loss and IoU.

Parameters
    @@ -342,7 +278,6 @@

    myria3d.models validation_step(batch: torch_geometric.data.batch.Batch, batch_idx: int) dict[source]

    Validation step.

    -

    Makes a model pass. Then, computes loss and predicted class of subsampled points to log loss and IoU.

    Parameters
      diff --git a/genindex.html b/genindex.html index 1c4f0f22..19ae212a 100644 --- a/genindex.html +++ b/genindex.html @@ -615,28 +615,12 @@

      N

      O

      diff --git a/objects.inv b/objects.inv index 39deb961..995a8e84 100644 Binary files a/objects.inv and b/objects.inv differ diff --git a/searchindex.js b/searchindex.js index d871d113..18236f5c 100644 --- a/searchindex.js +++ b/searchindex.js @@ -1 +1 @@ -Search.setIndex({docnames:["apidoc/configs","apidoc/myria3d.callbacks","apidoc/myria3d.model","apidoc/myria3d.models.modules","apidoc/myria3d.pctl","apidoc/myria3d.utils","apidoc/scripts","background/general_design","background/interpolation","guides/development","guides/train_new_model","index","introduction","tutorials/install_on_linux","tutorials/install_on_wsl2","tutorials/make_predictions","tutorials/prepare_dataset"],envversion:{"sphinx.domains.c":2,"sphinx.domains.changeset":1,"sphinx.domains.citation":1,"sphinx.domains.cpp":5,"sphinx.domains.index":1,"sphinx.domains.javascript":2,"sphinx.domains.math":2,"sphinx.domains.python":3,"sphinx.domains.rst":2,"sphinx.domains.std":2,"sphinx.ext.intersphinx":1,"sphinx.ext.viewcode":1,sphinx:56},filenames:["apidoc/configs.rst","apidoc/myria3d.callbacks.rst","apidoc/myria3d.model.rst","apidoc/myria3d.models.modules.rst","apidoc/myria3d.pctl.rst","apidoc/myria3d.utils.rst","apidoc/scripts.rst","background/general_design.md","background/interpolation.md","guides/development.md","guides/train_new_model.md","index.rst","introduction.md","tutorials/install_on_linux.md","tutorials/install_on_wsl2.md","tutorials/make_predictions.md","tutorials/prepare_dataset.md"],objects:{"":[[6,0,0,"-","run"]],"myria3d.callbacks":[[1,0,0,"-","comet_callbacks"],[1,0,0,"-","finetuning_callbacks"]],"myria3d.callbacks.comet_callbacks":[[1,1,1,"","LogCode"],[1,1,1,"","LogLogsPath"],[1,3,1,"","get_comet_logger"],[1,3,1,"","log_comet_cm"]],"myria3d.callbacks.comet_callbacks.LogCode":[[1,2,1,"","on_train_start"]],"myria3d.callbacks.comet_callbacks.LogLogsPath":[[1,2,1,"","setup"]],"myria3d.callbacks.finetuning_callbacks":[[1,1,1,"","FinetuningFreezeUnfreeze"]],"myria3d.callbacks.finetuning_callbacks.FinetuningFreezeUnfreeze":[[1,2,1,"","finetune_function"],[1,2,1,"","freeze_before_training"]],"myria3d.models":[[2,0,0,"-","interpolation"],[2,0,0,"-","model"]],"myria3d.models.interpolation":[[2,1,1,"","Interpolator"]],"myria3d.models.interpolation.Interpolator":[[2,2,1,"","load_full_las_for_update"],[2,2,1,"","reduce_predicted_logits"],[2,2,1,"","reduce_predictions_and_save"],[2,2,1,"","store_predictions"]],"myria3d.models.interpolation.Interpolator.load_full_las_for_update.params":[[2,4,1,"","epsg"],[2,4,1,"","filepath"]],"myria3d.models.interpolation.Interpolator.reduce_predictions_and_save.params":[[2,4,1,"","basename"],[2,4,1,"","epsg"],[2,4,1,"","interpolation"],[2,4,1,"","output_dir"]],"myria3d.models.interpolation.Interpolator.reduce_predictions_and_save.params.probabilities. Defaults to None":[[2,4,1,"",""]],"myria3d.models.model":[[2,1,1,"","Model"],[2,3,1,"","get_neural_net_class"]],"myria3d.models.model.Model":[[2,2,1,"","configure_optimizers"],[2,2,1,"","forward"],[2,2,1,"","on_fit_start"],[2,2,1,"","on_test_epoch_end"],[2,2,1,"","on_test_start"],[2,2,1,"","on_train_epoch_end"],[2,2,1,"","on_validation_epoch_end"],[2,2,1,"","predict_step"],[2,2,1,"","test_step"],[2,2,1,"","training_step"],[2,2,1,"","validation_step"]],"myria3d.models.model.Model.forward.params":[[2,4,1,"","batch"],[2,4,1,"","y"]],"myria3d.models.model.Model.on_test_epoch_end.params":[[2,4,1,"","outputs"]],"myria3d.models.model.Model.on_validation_epoch_end.params":[[2,4,1,"","outputs"]],"myria3d.models.model.Model.predict_step.params":[[2,4,1,"","batch"],[2,4,1,"","y"]],"myria3d.models.model.Model.test_step.params":[[2,4,1,"","batch"],[2,4,1,"","y"]],"myria3d.models.model.Model.training_step.params":[[2,4,1,"","batch"],[2,4,1,"","batch_idx"],[2,4,1,"","y"]],"myria3d.models.model.Model.validation_step.params":[[2,4,1,"","batch"],[2,4,1,"","batch_idx"],[2,4,1,"","y"]],"myria3d.models.model.get_neural_net_class.params":[[2,4,1,"","class_name"]],"myria3d.models.modules.pyg_randla_net":[[3,1,1,"","PyGRandLANet"]],"myria3d.models.modules.pyg_randla_net.PyGRandLANet":[[3,2,1,"","forward"]],"myria3d.pctl.dataloader":[[4,0,0,"-","dataloader"]],"myria3d.pctl.dataloader.dataloader":[[4,1,1,"","GeometricNoneProofCollater"],[4,1,1,"","GeometricNoneProofDataloader"]],"myria3d.pctl.datamodule":[[4,0,0,"-","hdf5"]],"myria3d.pctl.datamodule.hdf5":[[4,1,1,"","HDF5LidarDataModule"]],"myria3d.pctl.datamodule.hdf5.HDF5LidarDataModule":[[4,5,1,"","dataset"],[4,2,1,"","predict_dataloader"],[4,2,1,"","prepare_data"],[4,2,1,"","setup"],[4,2,1,"","test_dataloader"],[4,2,1,"","train_dataloader"],[4,2,1,"","val_dataloader"]],"myria3d.pctl.dataset":[[4,0,0,"-","hdf5"],[4,0,0,"-","iterable"],[4,0,0,"-","toy_dataset"],[4,0,0,"-","utils"]],"myria3d.pctl.dataset.hdf5":[[4,1,1,"","HDF5Dataset"],[4,3,1,"","create_hdf5"]],"myria3d.pctl.dataset.hdf5.HDF5Dataset":[[4,5,1,"","samples_hdf5_paths"]],"myria3d.pctl.dataset.hdf5.create_hdf5.params":[[4,4,1,"","epsg"],[4,4,1,"","hdf5_file_path"],[4,4,1,"","las_paths_by_split_dict"],[4,4,1,"","points_pre_transform"],[4,4,1,"","pre_filter"],[4,4,1,"","subtile_overlap_train"],[4,4,1,"","subtile_width"],[4,4,1,"","tile_width"]],"myria3d.pctl.dataset.iterable":[[4,1,1,"","InferenceDataset"]],"myria3d.pctl.dataset.iterable.InferenceDataset":[[4,2,1,"","get_iterator"]],"myria3d.pctl.dataset.toy_dataset":[[4,3,1,"","make_toy_dataset_from_test_file"]],"myria3d.pctl.dataset.toy_dataset.make_toy_dataset_from_test_file.params":[[4,4,1,"","`split`"],[4,4,1,"","files"],[4,4,1,"","prepared_data_dir"],[4,4,1,"","split_csv"],[4,4,1,"","src_las_path"]],"myria3d.pctl.dataset.utils":[[4,3,1,"","find_file_in_dir"],[4,3,1,"","get_metadata"],[4,3,1,"","get_pdal_info_metadata"],[4,3,1,"","get_pdal_reader"],[4,3,1,"","pdal_read_las_array"],[4,3,1,"","pdal_read_las_array_as_float32"],[4,3,1,"","split_cloud_into_samples"]],"myria3d.pctl.dataset.utils.find_file_in_dir.params":[[4,4,1,"","input_data_dir"]],"myria3d.pctl.dataset.utils.get_metadata.params":[[4,4,1,"","las_path"]],"myria3d.pctl.dataset.utils.get_pdal_info_metadata.params":[[4,4,1,"","las_path"]],"myria3d.pctl.dataset.utils.get_pdal_reader.params":[[4,4,1,"","epsg"],[4,4,1,"","las_path"]],"myria3d.pctl.dataset.utils.pdal_read_las_array.params":[[4,4,1,"","epsg"],[4,4,1,"","las_path"]],"myria3d.pctl.dataset.utils.split_cloud_into_samples.params":[[4,4,1,"","epsg"],[4,4,1,"","las_path"],[4,4,1,"","subtile_overlap"],[4,4,1,"","subtile_width"],[4,4,1,"","tile_width"]],"myria3d.pctl.points_pre_transform":[[4,0,0,"-","lidar_hd"]],"myria3d.pctl.points_pre_transform.lidar_hd":[[4,3,1,"","lidar_hd_pre_transform"]],"myria3d.pctl.points_pre_transform.lidar_hd.lidar_hd_pre_transform.params":[[4,4,1,"","las_filepath"]],"myria3d.pctl.transforms":[[4,0,0,"-","compose"],[4,0,0,"-","transforms"]],"myria3d.pctl.transforms.compose":[[4,1,1,"","CustomCompose"]],"myria3d.pctl.transforms.compose.CustomCompose.params":[[4,4,1,"","transforms"]],"myria3d.pctl.transforms.transforms":[[4,1,1,"","CopyFullPos"],[4,1,1,"","CopyFullPreparedTargets"],[4,1,1,"","CopySampledPos"],[4,1,1,"","DropPointsByClass"],[4,1,1,"","MaximumNumNodes"],[4,1,1,"","MinimumNumNodes"],[4,1,1,"","NormalizePos"],[4,1,1,"","NullifyLowestZ"],[4,1,1,"","StandardizeRGBAndIntensity"],[4,1,1,"","TargetTransform"],[4,1,1,"","ToTensor"]],"myria3d.pctl.transforms.transforms.StandardizeRGBAndIntensity":[[4,2,1,"","standardize_channel"]],"myria3d.train":[[6,3,1,"","train"]],"myria3d.train.train.params":[[6,4,1,"","config"]],"myria3d.utils":[[5,0,0,"-","utils"]],"myria3d.utils.utils":[[5,3,1,"","define_device_from_config_param"],[5,3,1,"","eval_time"],[5,3,1,"","extras"],[5,3,1,"","get_logger"],[5,3,1,"","log_hyperparameters"],[5,3,1,"","print_config"]],"myria3d.utils.utils.extras.params":[[5,4,1,"","config"]],"myria3d.utils.utils.print_config.params":[[5,4,1,"","config"],[5,4,1,"","fields"],[5,4,1,"","resolve"]],"myria3d.utils.utils.print_config.params.printed and in what order":[[5,4,1,"",""]],"run.TASK_NAMES":[[6,6,1,"","FINETUNE"],[6,6,1,"","FIT"],[6,6,1,"","HDF5"],[6,6,1,"","PREDICT"],[6,6,1,"","TEST"]],myria3d:[[1,0,0,"-","callbacks"],[6,0,0,"-","predict"],[6,0,0,"-","train"]],run:[[6,1,1,"","TASK_NAMES"],[6,3,1,"","launch_hdf5"],[6,3,1,"","launch_predict"],[6,3,1,"","launch_train"]]},objnames:{"0":["py","module","Python module"],"1":["py","class","Python class"],"2":["py","method","Python method"],"3":["py","function","Python function"],"4":["py","parameter","Python parameter"],"5":["py","property","Python property"],"6":["py","attribute","Python attribute"]},objtypes:{"0":"py:module","1":"py:class","2":"py:method","3":"py:function","4":"py:parameter","5":"py:property","6":"py:attribute"},terms:{"0":[0,4,5,6,7,10,14,15,16],"003933709606504788":0,"03d":0,"04":14,"1":[0,2,4,5,7,13,14,16],"10":[0,2,14],"1000":[0,4],"11":[13,14],"12":[4,13],"12345":0,"123_456":4,"12500":7,"14":14,"155":0,"16":[0,3],"160":0,"161":0,"162":0,"17":[0,4],"19041":14,"1_amd64":14,"1km":15,"2":[0,4,7,14],"20":0,"2004":14,"2016":7,"2019":7,"2020":7,"2022":14,"20220607_151_dalles_proto":[10,16],"2023mmdd":9,"204":0,"22":14,"25":[0,15],"25m":[7,15],"2gb":15,"3":[0,1,4,7,10,13,14,16],"30":[10,14],"300":0,"30000":7,"32":7,"3d":[7,11,12],"4":[0,3,7,14,15],"40000":0,"46":0,"47":0,"48":0,"49":0,"5":[0,14],"50":[0,4,15],"50m":[15,16],"50mx50m":7,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"6":[0,1,4,14],"600":14,"64":0,"65":[0,15],"66":0,"67":0,"7":[0,14],"77":0,"7fa2af80":14,"9":[0,1,4,14],"abstract":4,"byte":4,"case":[6,9,14,15],"class":[1,2,3,4,6,7,10,11,12,15,16],"default":[2,4,11,14,15,16],"do":[2,4,7,10,14,15,16],"enum":6,"export":[13,14],"final":13,"float":4,"function":[3,4,14],"import":14,"int":[1,2,3,4,5],"new":[2,6,9,11,12,16],"null":[0,15],"public":13,"return":[1,2,4,6,16],"short":7,"super":2,"true":[0,5,10],"try":[10,14],"var":14,"while":[3,14],"z\u00e9ro":4,A:[2,4,5,9,15,16],As:[7,14],At:[2,14,15],BE:15,By:15,For:[4,7,13,14,15],If:[1,2,4,7,10,13,14,15,16],In:[6,7,9,10,14,15,16],It:[2,4,7,11,12,14,15,16],Its:[11,12],On:7,One:15,Or:13,TO:[14,15],That:14,The:[4,7,9,10,11,12,14,15,16],Then:[2,13,14,15],There:[4,7],These:15,To:[2,10,13,14,15,16],With:14,___:14,__init__:2,_args_:0,_array_lik:4,_convert_:0,_interpol:2,_nested_sequ:4,_nestedsequ:4,_sphinx_paramlinks_myria3d:[2,4,5],_supportsarrai:4,_target_:0,_type:4,_type_:4,_version:9,abl:[14,16],about:4,abov:4,absenc:15,acceler:[0,13],accept:[7,9,14],access:[2,4,5,9,14],accord:[14,16],accordingli:14,account:[7,10],achiev:15,acquisit:15,action:15,activ:[6,9,10,13,14],acucmul:2,ad:9,adam:0,add:[2,4,13,14,15],addit:16,additionali:5,additionnali:[6,9,16],address:[14,15],adjac:4,admin:14,administr:14,adopt:7,aerial:[7,11,12,14,16],after:[6,10,14,16],afterward:3,again:[4,14],agre:14,agreement:14,ahead:14,al:7,all:[0,1,2,3,4,6,7,14,15,16],allow:[7,11,12,15,16],alreadi:[4,14],also:[7,11,12,14,15,16],alter:6,altern:[7,10,13,14,16],although:[3,11,12],alwai:15,an:[2,4,5,6,9,10,13,14,15,16],anaconda3:[13,14],anaconda:13,ani:[4,14,15,16],anymor:16,anyth:14,anywher:13,api_kei:0,app:9,append:2,applic:[14,15],approxim:2,apt:14,ar:[0,2,4,5,6,7,9,10,13,14,15,16],arbitrari:[4,9],architectur:[1,7,11,12],arg:4,argument:[10,13],ari0u:7,around:7,arrai:4,artefact:4,aspx:14,assign:4,associ:[9,10],attempt:7,attribut:2,au:10,augment:[0,4],augmentations_list:0,author:7,auto_insert_metric_nam:0,auto_log_co2:0,auto_lr_find:[0,10],autom:[6,10],automat:10,avail:[14,15],averag:[4,7,16],avoid:[2,16],ax:15,axi:4,b:[2,16],back:7,backward:13,balanc:16,base:[1,2,4,6,7,13,15],basefinetun:1,basenam:[2,4,16],bash:14,bashrc:[13,14],basic:7,batch:[2,3,4,7,10,15],batch_idx:2,batch_siz:[0,4,15],becaus:14,becom:[7,14],been:4,befor:[4,7,10,14,16],begin:[1,2],below:[13,14,15],benchmark:7,benefit:7,best:[3,10,14],better:[14,15],between:[2,4,15,16],block:14,bool:[3,4,5],bootstrap:[11,12],both:[7,15],boundari:16,branch:[9,13,14],branch_nam:13,bridg:0,browser:14,build:[0,4,6,7,9,13,14,15],built:[9,11,12,15],bypass:4,c:[2,13],cach:2,calcul:[2,4],call:[1,2,3,4,10],callabl:4,callback:[0,2,5,6,11],can:[2,5,7,9,10,11,12,13,14,15,16],cannot:[13,14],capabl:[7,10],card:[9,14],care:[2,3],carri:14,cast:4,center:[0,4],challeng:[7,14],chang:[6,13,14,15],channel:4,channel_data:4,characterist:15,check:[13,14],checkpoint:[0,6,10,15],checkpointed:10,choic:[11,12],choos:[2,10,14],cicd:9,ckpt:[0,10],ckpt_path:[0,6,10],clamp:4,clamp_sigma:4,class_nam:2,class_weight:0,classif:[2,4,6,10,15,16],classification_dict:[0,2,4],classification_preprocessing_dict:[0,4,15],clear:2,cli:15,click:14,clone:14,close:7,cloud:[2,3,4,11,12,14,15,16],code:[1,4,11,12,13,15],code_dir:[0,1],collat:4,collect:4,color:[4,16],com:[13,14],come:15,comet:[0,1,10],comet_api_token:0,comet_callback:0,comet_project_nam:0,comet_workspac:0,cometlogg:[0,1],command:14,comment:[14,15],commit:9,common:2,commun:7,compar:7,compat:[13,14,15],compil:14,complet:[9,14],complex:[4,7],compliant:9,compos:[5,6],composit:4,comput:[2,3,7,14,15],conceiv:7,conceptu:7,conda:[9,13,14],condit:6,config:[0,2,5,6,9,10,15,16],configur:[5,6,7,10,11,15,16],configure_optim:2,confmat:1,confus:7,consecut:4,consid:2,constant:10,contain:[2,4,6,10,14,15],content:[5,15],context:16,continu:14,contrast:6,contribut:7,control:[5,15,16],conveni:16,convent:[9,15,16],cooldown:0,copi:[4,14,15],copyfullpo:[0,4],copyfullpreparedtarget:[0,4],copysampledpo:[0,4],core:5,correct:[4,14],corresond:14,correspond:6,cost:7,coupl:[5,14],cours:7,cp39:14,cpu:[0,2,7,13,14],creat:[4,9,10,13,14,15,16],create_hdf5:[4,6,16],creation:[4,16],credenti:[10,15],criterion:0,cross:14,crossentropyloss:0,csv:[4,10,16],cu113:[13,14],cuda:[5,11,13],cudatoolkit:[13,14],current:15,current_epoch:1,custom:[10,16],customcompos:4,cwd:0,d:14,d_in:[0,1],data:[0,2,4,6,7,10,11,12,14],data_dir:[0,4,16],dataload:15,datamodul:[0,5,15,16],dataset:[0,6,7,10,15],dataset_descript:[0,5,6,10,15,16],date:[10,14,15],ddp:[2,10],deactiv:1,deb:14,debug:[0,5],decim:[0,3],decis:6,decod:7,decor:5,deep:[4,11,12,14],def:2,defaut:[7,10,13,16],defin:[3,9,10,15],define_device_from_config_param:5,del:14,demonstr:14,denser:7,densiti:[7,11,12,14],depend:[13,14,15,16],design:[11,12,14,16],detail:[7,9,15],detect:7,determin:5,dev:13,develop:[11,14,15],devic:0,dict:[0,2,4],dictconfig:[5,6],dictionari:4,dictionnari:[2,4],differ:[3,4,6,7,16],difficult:14,digest:16,dim:[4,15],dimens:[1,4,16],dir:[4,15],direcli:7,directli:[4,7,13,14,15],directori:[1,2,4,6,13,14,15,16],dirpath:0,disabl:[0,5,10,15],displai:14,distanc:2,distinct:6,distribut:[4,14],distro:14,distronam:14,disturb:15,divid:16,divis:16,doc:2,docker:9,dockerfil:15,document:[9,14],doe:[13,14],doesn:15,don:[4,16],done:[4,6,14,16],doom:7,down:14,download:[4,14,15],downstream:4,dpkg:14,driver:[13,14],drop:[4,15],droppointsbyclass:[0,4],dtype:4,duplic:[4,16],durat:5,dure:[2,7,14,16],e:[4,6,7,9,10,14,15,16],each:[4,7,10,15,16],earlier:14,early_stop:0,earlystop:0,eas:4,easier:[5,13,14],easiest:13,easili:[11,12,14],edit:[4,13,14],effect:[4,7,10,15],either:15,elev:14,els:14,elsewher:14,embed:15,empti:4,en:2,enabl:[7,11,12,13,14],encapsul:15,encod:7,end:[1,2,13,14],enough:[13,15,16],ensur:14,enter:14,entropi:[0,2,15],entropy_channel:[0,2,15],enumer:6,env:[0,10,13,14,15],env_exampl:10,environ:[9,10,14,15],environemnt:14,epoch:[0,2,6,10],epoch_:0,epoch_mean:2,epsg:[0,2,4,15,16],error:14,et:7,etc:[5,14],eval:0,eval_tim:5,eval_transform:4,evalu:[6,10,11,12],everi:[2,3],everyth:[1,14],ex:14,exampl:[2,4,6,10,14],exclude_kei:4,exhaust:4,exist:14,expect:[4,7,13,15],experi:[6,7,10,11,12,15],experiment_nam:0,explicit:7,extend:[11,12],extra:[4,5,14],extradim:2,f:[13,14],face:7,factor:[0,15],factori:2,fail:[4,14],fals:[0,3],far:2,fashion:[4,7],faster:[7,13,15],featur:[2,4,9,14,16],fed:7,feed:4,feedback:7,few:[7,9,14],field:[4,5,16],figur:14,file:[0,1,2,4,5,6,10,13,14,15,16],filenam:0,filepath:2,fill:[10,15,16],filter:4,find:14,find_file_in_dir:4,finder:10,finetun:[1,6],finetune_funct:1,finetuningfreezeunfreez:1,first:[4,7,10,14],fit:[0,1,2,4,6,11,12,16],fix:[7,16],fixed_num_point:16,fixedpoint:7,flag:[10,15],flexibl:[2,7,11,12],fly:[4,16],focus:[7,11,12,14],folder:[0,10,15],follow:[4,6,7,9,10,13,14,16],follow_batch:4,forc:[2,4,5],forg:[13,14],format:[4,11,12,15],former:3,forward:[2,3,7,14],found:[14,16],framework:3,free:[2,14],freez:1,freeze_before_train:1,french:[10,15,16],frequent:7,friendli:5,from:[1,4,5,6,7,10,11,12,13,14,16],full:[2,3,7,10,11,12],fuller:7,fulli:[2,14],functionn:9,functool:0,further:9,g:[4,6,7,9,10,15,16],gain:7,game:14,geforc:14,gener:[4,11],geometr:[4,7,8,11,12,13,14],geometricnoneproofcollat:4,geometricnoneproofdataload:4,get:[1,2,4,7,14],get_comet_logg:1,get_iter:4,get_logg:5,get_metadata:4,get_method:0,get_neural_net_class:2,get_pdal_info_metadata:4,get_pdal_read:4,git:14,github:[9,13,14,15],given:[4,13,16],glanc:0,glibcxx_3:14,glob:15,gnu:14,go:14,good:16,gpg:14,gpu:[0,2,4,5,14,15],gpus_param:5,grid:7,gridsampl:[0,7],ground:[0,7],group:[15,16],guid:[14,15],ha:[7,15],hand:7,handl:13,happen:[4,16],hardwar:4,have:[4,13,14,15,16],hd:[10,15,16],hdf5:[0,6,10,16],hdf5_file_path:[0,4,16],hdf5dataset:4,hdf5lidardatamodul:[0,4],heavili:[11,12],help:[14,15],here:[0,7,14,15],hierarch:7,high:[7,9,11,12,14],higher:[14,16],hinder:7,hint:15,hoc:9,hold:14,home:[13,14],homogen:15,hood:16,hook:[2,3],host:[9,15],hous:9,how:[9,11],howev:[4,15],html:2,http:[2,13,14],hu:7,hydra:[0,2,5,6,10,11,12,15],hyperparamet:10,hypothesi:7,i:[4,6,7,9,10,14,15,16],id:15,identifi:[2,15],idx_in_original_cloud:[2,4],ign:16,ignf:[13,14],ignor:[3,4],ignore_index:0,ignore_warn:0,ii:7,imag:[9,10],imageri:16,implement:[2,3,4,7,9,11,12,15,16],importerror:14,improv:15,includ:[2,4],increas:15,index:[4,11,14],indic:16,infer:[4,6,7,11,12,13,14],inferencedataset:4,info:4,inform:[0,4,16],infrar:16,init:14,initi:[2,4,5,14],inject:10,input:[0,2,4,15,16],input_data_dir:4,instal:[10,11,15],instanc:[3,13,15],instanti:[4,6],instead:[3,16],instruct:[10,13,15],integ:4,integr:15,intens:[4,16],interest:13,interestingli:7,interpol:[0,7,11,15],interpolation_k:[0,2],intersect:7,interv:16,intric:7,invers:2,io:2,iou:[2,10,11,12],ipc:15,irregular:15,iter:[7,11,12],its:[4,5,6,9,13,15],just:[14,16],keep:[2,10,11,12,14,15],kei:[4,14],kernel:14,keyword:15,kind:7,knn:11,kpconv:7,kwarg:[2,4],l:2,la:[0,2,4,6,15,16],label_smooth:0,larg:[4,7,11,12,14,15,16],larger:15,las1:4,las2:4,las_fil:4,las_filepath:4,las_path:4,las_paths_by_split_dict:4,las_paths_by_split_dict_typ:4,lasting_abov:0,later:[4,7,16],latest:[2,13,14],latter:3,launch_hdf5:6,launch_predict:6,launch_train:6,layer:[1,6],ld_library_path:[13,14],lead:[6,14],learn:[2,4,6,11,12,14],learningratemonitor:0,less:7,level:[7,9,15],leverag:[7,9],lib:[13,14],libarari:14,libcuspars:[13,14],librari:[5,9,10,11,12,13,14,16],libstdc:14,licens:14,lidar:[4,7,10,11,12,14,15,16],lidar_hd:0,lidar_hd_pre_transform:[0,4,16],light:2,lightn:[2,4,5,6,10,11,12,15],lightning_model:0,lightning_modul:[1,2],lightningdatamodul:5,lightningmodul:[2,5],like:[4,7,16],limit:[7,15],limit_test_batch:0,limit_train_batch:0,limit_val_batch:0,line:[13,14,15],link:[14,16],lint:9,linux:[11,14,15],linux_x86_64:14,list:[2,4,5,14,15,16],liter:[2,4],loact:4,load:[2,4,6,16],load_full_las_for_upd:2,local:[7,10,14,15],local_11:14,local_input:15,local_instal:14,local_output:15,localhost:14,locat:14,log:[1,2,4,5,10],log_cod:0,log_comet_cm:1,log_every_n_step:0,log_hyperparamet:5,log_logs_dir:0,log_momentum:0,logcod:[0,1],logger:[0,1,5,10,15],logging_interv:0,logic:[2,11,12,15,16],logit:[2,7],loglogspath:[0,1],logs_dir:10,look:[4,15],loop:2,loss:2,loss_epoch:0,lower:16,lowest:4,lr:[0,6],lr_monitor:0,lr_schedul:[0,6],m:9,machin:14,made:2,mai:[7,9,10,14,15,16],main:[5,7,9,13,14],make:[2,3,4,9,10,11,12,13,14,15],make_toy_dataset_from_test_fil:4,mamba:13,manag:[0,13,14,15],mani:7,manual:[10,14],map:[4,15],match:[4,13,14,15],matrix:[7,13],max_epoch:0,maxim:2,maximumnumnod:[0,4],md:9,mean:[2,7,9,10,14,15],meatadata:15,meet:7,memori:[2,7,15,16],mention:15,merg:[9,11],metadata:[4,16],method:[4,5,7,14],metric:7,might:[7,10,13,14],min:0,min_delta:0,min_epoch:0,min_num_nod:0,mind:7,miniconda3:[13,14],minim:15,minimumnumnod:[0,4],minut:14,mismatch:14,miss:15,ml:[1,10],mmodel:7,mode:[0,5,7,13,14],model:[0,4,5,6,9,11,12,14,15,16],model_checkpoint:0,modelcheckpoint:0,modifi:[5,15],modul:[2,5,11,15],momentum:0,monitor:0,more:[0,4,7,10,14,15],most:[7,14],mount:15,move:[2,14],much:14,multi:[4,5],multiclass:[11,12,14],multigpu:10,multipl:[4,11,15,16],multiple_fil:15,multipli:[7,15],multithread:15,must:[6,7,14,15,16],mv:14,mylightningmodul:2,myria3d:[0,7,9,12,15,16],n:[2,7,13,15],name:[2,4,5,9,10,14,15,16],nation:7,navig:14,nb_point:2,ndarrai:[2,4],ndvi:[4,16],necessari:[2,4,14],need:[2,3,4,7,10,13,14,15,16],neg:15,nest:16,net:[2,6,7],network:[2,6,11,12],neural:[2,6,11,12],neural_net_class_nam:0,neural_net_hparam:0,newer:13,next:[7,10,14],nexu:9,nn:[0,2],non:[14,15],none:[1,2,4,5,10,15],noneproof:4,normal:[0,4],normalizations_list:0,normalizepo:[0,4],note:[15,16],now:14,np:4,nullifylowestz:[0,4],num:4,num_class:[0,1,3,6],num_featur:[0,3],num_neighbor:[0,3],num_nod:0,num_sanity_val_step:0,num_work:[0,4],number:[4,5,6,10,15,16],numpi:[2,4],nvidia:[13,14],nvml:14,o:4,object:[4,6,7,13,14,15,16],oc:[0,15],occlud:16,occur:[7,14],offici:[7,16],old:14,older:13,omegaconf:[5,6],on_fit_start:2,on_test_epoch_end:2,on_test_start:2,on_train_epoch_end:2,on_train_start:1,on_validation_epoch_end:2,onc:[10,16],one:[2,3,4,6,10,14,15],ones:4,onli:[2,4,7,13,14,16],onlin:14,open:[13,14,16],oper:[7,14],opini:[11,12],opposit:7,optim:[0,1,2,11,12],optimizer_idx:1,option:[1,2,4,5],optionn:[2,14,15],optionnali:6,order:[5,6,7,15],org:14,origin:[2,4,15],oserror:[13,14],other:[7,10,14,15],otherwis:[4,14],our:[3,7],out:[1,4,10,14,15],outdoor:7,output:[2,6],output_dir:[0,2,15],over:7,overfit:10,overlap:[4,8],overrid:[4,15],overridden:3,own:[3,7,16],packag:[9,14,15,16],page:[9,10,14,16],paper:[7,10],param:[4,5,15],paramet:[2,4,5,6,15,16],parcimoni:7,part:[13,14,15,16],partial:0,particular:[7,10,13],pass:[2,3,7,9],path:[0,2,4,10,14,15,16],patienc:[0,6],pattern:[4,15],pctl:[0,11,16],pdal:[4,16],pdal_read_las_arrai:4,pdal_read_las_array_as_float32:4,pdaltool:16,pep8:9,per:10,perfom:10,perform:[3,4,6,10,11,16],persist:14,phase:1,pin:14,pip:[13,14],pipelin:[4,6],pl_modul:1,place:[5,7],placehold:14,pleas:14,plu:[15,16],po:[2,3,4],point:[2,3,4,11,12,14,16],pointnet:7,points_budget:16,points_pre_transform:[0,16],posit:[2,4],possibl:16,powershel:14,ppa:14,pre:4,pre_filt:[0,4],pre_filter_below_n_point:[0,4],precomput:4,predict:[0,1,2,4,5,7,10,11],predict_dataload:4,predict_step:2,predicted_classification_channel:[0,2,15],predictedclassif:[0,2,15],prefer:[7,14],prefetch_factor:[0,4],prefix:14,prepar:[0,4,6,10,11],preparations_eval_list:0,preparations_predict_list:0,preparations_train_list:0,prepare_data:4,prepared_data_dir:4,preprocess:[4,16],present:15,press:14,price:15,print:5,print_config:[0,5],proba:[2,15],probabilit:[2,15],probabl:[2,6,13,15],probas_to_sav:[0,2,15],problem:14,proce:10,process:[2,3,4,7,9,11,12,14],prod:9,produc:15,product:9,progress:8,project:15,project_nam:0,prompt:14,propag:7,properli:14,properti:4,provid:[10,15,16],proxi:15,ptr:3,pub:14,pull:[7,9],pure:[13,14],purpos:[4,14],push:9,py:[9,10,15,16],pyg:[4,14],pyg_randla_net:3,pygrandlanet:[0,3],pypi:13,pytest:9,python:[5,9,10,15,16],pytorch:[2,6,7,10,11,12,13,14,15],pytorch_geometr:[14,16],pytorch_lightn:[0,1,5,6],qi:7,quadro:14,queri:4,quit:14,quot:15,r:[14,16],ra:9,randla:7,randlanet:10,randlanet_base_run_fr:10,randlanetdebug:0,randlanetdebugfinetun:6,random:7,rang:[4,10],rapid:[11,12],rate:[2,6],raw:[4,16],raw_path:2,read:[2,4,16],reader:4,readi:[4,10,14,16],readm:15,readthedoc:2,recent:13,recept:[4,16],recip:[3,13],recommend:[4,14],reconstruct:16,recudelronplateau:6,reduc:[7,10],reduce_predicted_logit:2,reduce_predictions_and_sav:2,reducelronplateau:0,reduct:7,refer:[0,5,10,15],referenc:16,regist:3,regroup:16,regular:[8,15],rel:[4,7],relat:[13,14],releas:[9,13],reli:[11,12],reliabl:[7,11,12],reload:4,reload_dataloaders_every_n_epoch:4,remov:[13,14],renam:10,replac:[13,14],repo:14,repositori:[9,14,15],repres:7,request:[2,7,9],requir:[7,13,14],reset:6,resolut:7,resolv:5,restart:14,result:[4,7,10,11,12,15],resum:6,return_logit:[0,3],review:14,rgb:[4,16],rgbi:16,rich:[5,7],right:14,robust:7,role:9,rtx:14,run:[1,3,9,13,14,16],runtim:[0,10,15],runtimeerror:14,s3di:7,s:[4,11,13,14,15,16],safe:1,same:[2,7,14],sampl:[4,7,15,16],sampler:4,samples_hdf5_path:4,save:[2,5,10,15],save_last:0,save_top_k:0,scale:[4,7,11,12,14,16],schedul:[2,6],schema:16,scheme:2,scope:[11,12,14],script:11,scroll:14,section:[4,10,14],see:[4,6,7,9,10,13,14,15,16],seed:[0,5],segment:[6,7,11,12,14,16],select:[14,16],self:2,semant:[6,7,9,11,12,14],semantic3d:7,semantickitti:7,semin:7,sequenc:[4,5],sequenti:1,serv:9,set:[4,6,7,10,15,16],setup:[1,4],setup_env:13,sever:[4,15],sh:14,share:[13,14,15,16],shm:15,should:[3,4,13,14,15,16],show:[0,15],shown:14,shut:14,shutdown:14,signatur:[11,12],silent:3,similar:16,similarli:16,simpl:[4,7],simpli:[1,15,16],simplic:7,simplifi:7,sinc:[3,7],singl:[4,10,11,12,16],situat:7,size:[3,7,10,15,16],small:[4,16],smaller:[7,16],smi:14,smooth:15,so:[2,10,13,14,15],solut:7,some:[4,10,11,12,14],someth:[2,14],sota:7,sourc:[0,1,2,3,4,5,6,14,16],space:15,spatial:15,special:6,specif:[4,6,7,13,14,15,16],specifi:[4,5,6,7,10,15,16],spent:7,spit:16,spli:16,split:[4,16],split_cloud_into_sampl:4,split_csv:4,split_csv_path:[0,4,16],squar:15,src_la:[0,2,15],src_las_path:4,stack:2,stage:[1,4,9],standalon:15,standard:[4,11,12,16],standardize_channel:4,standardizergbandintens:[0,4],start:[1,6,7,13],state:[4,6,14],stem:10,step:[0,2,7,9,10,14],still:[13,14,15],store:[15,16],store_predict:2,str:[1,2,4,5],strategi:7,stronger:6,structur:[5,11,12],subclass:3,subdir:6,subdirectori:[4,16],subfold:[4,10],suboptim:7,subsampl:[2,4],subsystem:14,subtil:4,subtile_overlap:[0,4,15],subtile_overlap_predict:[0,4],subtile_overlap_train:[0,4],subtile_width:[0,4],success:[9,15],sudo:14,suit:16,sumbsampl:2,superior:7,supervis:7,support:[10,11,12],sure:14,swicth:15,system:[13,14],t:[4,15,16],tabl:14,tag:9,take:[2,3,7,14,16],taken:14,tarbal:[13,14],target:[2,4,14],targettransform:[0,4],task:[0,5,6,10,15,16],task_nam:[0,6,10,15],td_prepar:4,team:14,templat:[11,12],tensor:[2,4],term:[7,11,12],termin:14,test:[0,1,2,4,6,7,8,14,16],test_dataload:4,test_step:[2,4],text:14,than:[7,10,13,14],thank:13,thei:15,them:[2,3,4,7],therefor:2,thi:[2,3,4,5,6,7,9,10,11,12,13,14,15,16],third:7,thoma:7,thu:7,tile:4,tile_width:[0,4],time:[2,4,7,8,10,11,12,14,16],tini:7,todo:11,togeth:4,toi:[4,10],tool:16,toolchain:14,toolkit:[13,14,16],torch:[0,2,4,13,14],torch_clust:14,torch_geometr:[0,2,4,7],torch_scatt:14,torch_spars:14,totensor:4,toy_dataset:[0,16],track:9,train:[0,1,2,4,7,11,12,15],train_dataload:4,train_transform:4,trainabl:5,trained_model_asset:15,trainer:[0,1,5,6,10],trainin:2,training_epoch_mean:2,training_step:2,training_step_output:2,transform:[0,2,7,15,16],tree:5,tri:[4,14],tricki:14,trigger:7,tune:1,tupl:2,turn:[4,16],tutori:[9,10,15],two:16,type:[2,4,6,14],typic:6,ubuntu:[13,14],uncertainti:15,unclassifi:[0,4],under:[15,16],unfreez:1,unfreeze_decoder_train_epoch:1,unfreeze_fc_end_epoch:1,union:[2,4,7],unless:4,unmodifi:14,unorm:4,unseen:[6,11,12],until:7,unus:2,up:[2,10,15],updat:[1,2,14,15],upgrad:[13,14],upload:1,upon:[11,12],urban:7,url:14,us:[2,3,4,5,6,7,9,10,13,14,15,16],useful:4,user:[13,14,15],usernam:14,usual:7,util:[0,11,14],v3:7,v:[9,15],val:[0,4,16],val_dataload:4,valid:[1,2,4,6,10,15],validation_step:[2,4],valu:[0,4,6,14,15],variabl:[7,10,15,16],variou:14,vector:4,veget:[0,7,15],verbos:0,veri:[2,15],version:[7,13,14],via:[9,13,15,16],virtual:[10,14,15],visibl:15,volum:15,wa:[7,11,12,14,16],wai:[7,13,14],want:[7,13,14,15,16],warn:[5,8,13],water:0,we:[0,2,7,13,14,15,16],weight:6,weightn:2,well:[2,6,14,15],were:[7,15],wget:14,what:[2,5,15],wheel:[13,14],when:[1,4,9,10,15],where:[4,10],whether:[5,14],which:[2,5,6,7,9,10,11,12,13,14,15,16],whl:14,whole:4,whose:[15,16],why:14,width:4,window:[14,15],wise:4,within:[3,7,14,16],without:[2,4,14,16],work:[1,7,8,13,14,15],work_dir:0,workflow:9,workspac:0,would:4,write:14,wsl2:11,www:14,x10:7,x5:7,x86_64:14,x:[2,3,4,15,16],xy:4,xyz:2,y:[2,4,13,14,15],y_mean:4,y_std:4,yaml:[6,9,10,15,16],ye:14,yet:14,yield:4,yml:[13,14],you:[2,4,10,13,14,15,16],your:[2,10,13,14,15,16],yourself:4,z:4},titles:["Default configuration","myria3d.callbacks","myria3d.models","myria3d.models.modules","myria3d.pctl","myria3d.utils","Scripts","General design of the package","KNN-Interpolation to merge multiple predictions [TODO]","Developer\u2019s guide","How to train new models","Myria3D > Documentation","<no title>","Install Myria3D on Linux","Install Myria3D on WSL2 with CUDA support","Performing inference on new data","Preparing data for training"],titleterms:{"default":0,"function":16,"import":7,"new":[10,15],addit:15,anaconda:14,approach:7,artefact:15,background:11,callback:1,cd:9,ci:9,cloud:7,code:9,comet_callback:1,compos:4,configur:0,content:1,continu:9,cuda:14,data:[15,16],dataload:4,datamodul:4,dataset:[4,16],deliveri:9,design:7,develop:9,dimens:15,docker:15,document:11,dure:15,environ:13,essenc:7,evalu:7,fast:7,field:15,finetuning_callback:1,from:15,gener:7,geometr:3,get:[11,16],gpu:10,guid:[9,11],hdf5:4,how:10,ignor:15,imag:15,improv:7,indic:11,infer:[10,15],instal:[13,14],integr:9,interpol:[2,8],iter:4,kei:7,knn:8,learn:10,lidar_hd:4,linux:13,logging_callback:1,merg:8,model:[2,3,7,10],modul:[1,3],multi:10,multipl:8,myria3d:[1,2,3,4,5,6,11,13,14],net:3,optim:10,option:15,output:15,overlap:15,packag:[7,11,13],pctl:4,peprocess:16,perform:[7,15],point:[7,15],points_pre_transform:4,practic:7,predict:[6,8,15],prepar:16,prerequisit:13,pytorch:3,quick:10,quickli:16,randla:3,rate:10,recept:15,refer:11,right:7,run:[6,10,15],s:9,script:6,select:7,set:[13,14],setup:10,should:7,sourc:[13,15],speed:7,start:[11,16],structur:7,submodul:1,subsampl:7,support:14,tabl:11,test:[9,10],time:15,todo:8,toi:16,toy_dataset:4,train:[6,10,16],transform:4,troubleshoot:[13,14],up:[13,14],util:[4,5],version:9,virtual:13,within:15,wsl2:14,wsl:14}}) \ No newline at end of file +Search.setIndex({docnames:["apidoc/configs","apidoc/myria3d.callbacks","apidoc/myria3d.model","apidoc/myria3d.models.modules","apidoc/myria3d.pctl","apidoc/myria3d.utils","apidoc/scripts","background/general_design","background/interpolation","guides/development","guides/train_new_model","index","introduction","tutorials/install_on_linux","tutorials/install_on_wsl2","tutorials/make_predictions","tutorials/prepare_dataset"],envversion:{"sphinx.domains.c":2,"sphinx.domains.changeset":1,"sphinx.domains.citation":1,"sphinx.domains.cpp":5,"sphinx.domains.index":1,"sphinx.domains.javascript":2,"sphinx.domains.math":2,"sphinx.domains.python":3,"sphinx.domains.rst":2,"sphinx.domains.std":2,"sphinx.ext.intersphinx":1,"sphinx.ext.viewcode":1,sphinx:56},filenames:["apidoc/configs.rst","apidoc/myria3d.callbacks.rst","apidoc/myria3d.model.rst","apidoc/myria3d.models.modules.rst","apidoc/myria3d.pctl.rst","apidoc/myria3d.utils.rst","apidoc/scripts.rst","background/general_design.md","background/interpolation.md","guides/development.md","guides/train_new_model.md","index.rst","introduction.md","tutorials/install_on_linux.md","tutorials/install_on_wsl2.md","tutorials/make_predictions.md","tutorials/prepare_dataset.md"],objects:{"":[[6,0,0,"-","run"]],"myria3d.callbacks":[[1,0,0,"-","comet_callbacks"],[1,0,0,"-","finetuning_callbacks"]],"myria3d.callbacks.comet_callbacks":[[1,1,1,"","LogCode"],[1,1,1,"","LogLogsPath"],[1,3,1,"","get_comet_logger"],[1,3,1,"","log_comet_cm"]],"myria3d.callbacks.comet_callbacks.LogCode":[[1,2,1,"","on_train_start"]],"myria3d.callbacks.comet_callbacks.LogLogsPath":[[1,2,1,"","setup"]],"myria3d.callbacks.finetuning_callbacks":[[1,1,1,"","FinetuningFreezeUnfreeze"]],"myria3d.callbacks.finetuning_callbacks.FinetuningFreezeUnfreeze":[[1,2,1,"","finetune_function"],[1,2,1,"","freeze_before_training"]],"myria3d.models":[[2,0,0,"-","interpolation"],[2,0,0,"-","model"]],"myria3d.models.interpolation":[[2,1,1,"","Interpolator"]],"myria3d.models.interpolation.Interpolator":[[2,2,1,"","load_full_las_for_update"],[2,2,1,"","reduce_predicted_logits"],[2,2,1,"","reduce_predictions_and_save"],[2,2,1,"","store_predictions"]],"myria3d.models.interpolation.Interpolator.load_full_las_for_update.params":[[2,4,1,"","epsg"],[2,4,1,"","filepath"]],"myria3d.models.interpolation.Interpolator.reduce_predictions_and_save.params":[[2,4,1,"","basename"],[2,4,1,"","epsg"],[2,4,1,"","interpolation"],[2,4,1,"","output_dir"]],"myria3d.models.interpolation.Interpolator.reduce_predictions_and_save.params.probabilities. Defaults to None":[[2,4,1,"",""]],"myria3d.models.model":[[2,1,1,"","Model"],[2,3,1,"","get_neural_net_class"]],"myria3d.models.model.Model":[[2,2,1,"","configure_optimizers"],[2,2,1,"","forward"],[2,2,1,"","predict_step"],[2,2,1,"","test_step"],[2,2,1,"","training_step"],[2,2,1,"","validation_step"]],"myria3d.models.model.Model.forward.params":[[2,4,1,"","batch"],[2,4,1,"","y"]],"myria3d.models.model.Model.predict_step.params":[[2,4,1,"","batch"],[2,4,1,"","y"]],"myria3d.models.model.Model.test_step.params":[[2,4,1,"","batch"],[2,4,1,"","y"]],"myria3d.models.model.Model.training_step.params":[[2,4,1,"","batch"],[2,4,1,"","batch_idx"],[2,4,1,"","y"]],"myria3d.models.model.Model.validation_step.params":[[2,4,1,"","batch"],[2,4,1,"","batch_idx"],[2,4,1,"","y"]],"myria3d.models.model.get_neural_net_class.params":[[2,4,1,"","class_name"]],"myria3d.models.modules.pyg_randla_net":[[3,1,1,"","PyGRandLANet"]],"myria3d.models.modules.pyg_randla_net.PyGRandLANet":[[3,2,1,"","forward"]],"myria3d.pctl.dataloader":[[4,0,0,"-","dataloader"]],"myria3d.pctl.dataloader.dataloader":[[4,1,1,"","GeometricNoneProofCollater"],[4,1,1,"","GeometricNoneProofDataloader"]],"myria3d.pctl.datamodule":[[4,0,0,"-","hdf5"]],"myria3d.pctl.datamodule.hdf5":[[4,1,1,"","HDF5LidarDataModule"]],"myria3d.pctl.datamodule.hdf5.HDF5LidarDataModule":[[4,5,1,"","dataset"],[4,2,1,"","predict_dataloader"],[4,2,1,"","prepare_data"],[4,2,1,"","setup"],[4,2,1,"","test_dataloader"],[4,2,1,"","train_dataloader"],[4,2,1,"","val_dataloader"]],"myria3d.pctl.dataset":[[4,0,0,"-","hdf5"],[4,0,0,"-","iterable"],[4,0,0,"-","toy_dataset"],[4,0,0,"-","utils"]],"myria3d.pctl.dataset.hdf5":[[4,1,1,"","HDF5Dataset"],[4,3,1,"","create_hdf5"]],"myria3d.pctl.dataset.hdf5.HDF5Dataset":[[4,5,1,"","samples_hdf5_paths"]],"myria3d.pctl.dataset.hdf5.create_hdf5.params":[[4,4,1,"","epsg"],[4,4,1,"","hdf5_file_path"],[4,4,1,"","las_paths_by_split_dict"],[4,4,1,"","points_pre_transform"],[4,4,1,"","pre_filter"],[4,4,1,"","subtile_overlap_train"],[4,4,1,"","subtile_width"],[4,4,1,"","tile_width"]],"myria3d.pctl.dataset.iterable":[[4,1,1,"","InferenceDataset"]],"myria3d.pctl.dataset.iterable.InferenceDataset":[[4,2,1,"","get_iterator"]],"myria3d.pctl.dataset.toy_dataset":[[4,3,1,"","make_toy_dataset_from_test_file"]],"myria3d.pctl.dataset.toy_dataset.make_toy_dataset_from_test_file.params":[[4,4,1,"","`split`"],[4,4,1,"","files"],[4,4,1,"","prepared_data_dir"],[4,4,1,"","split_csv"],[4,4,1,"","src_las_path"]],"myria3d.pctl.dataset.utils":[[4,3,1,"","find_file_in_dir"],[4,3,1,"","get_metadata"],[4,3,1,"","get_pdal_info_metadata"],[4,3,1,"","get_pdal_reader"],[4,3,1,"","pdal_read_las_array"],[4,3,1,"","pdal_read_las_array_as_float32"],[4,3,1,"","split_cloud_into_samples"]],"myria3d.pctl.dataset.utils.find_file_in_dir.params":[[4,4,1,"","input_data_dir"]],"myria3d.pctl.dataset.utils.get_metadata.params":[[4,4,1,"","las_path"]],"myria3d.pctl.dataset.utils.get_pdal_info_metadata.params":[[4,4,1,"","las_path"]],"myria3d.pctl.dataset.utils.get_pdal_reader.params":[[4,4,1,"","epsg"],[4,4,1,"","las_path"]],"myria3d.pctl.dataset.utils.pdal_read_las_array.params":[[4,4,1,"","epsg"],[4,4,1,"","las_path"]],"myria3d.pctl.dataset.utils.split_cloud_into_samples.params":[[4,4,1,"","epsg"],[4,4,1,"","las_path"],[4,4,1,"","subtile_overlap"],[4,4,1,"","subtile_width"],[4,4,1,"","tile_width"]],"myria3d.pctl.points_pre_transform":[[4,0,0,"-","lidar_hd"]],"myria3d.pctl.points_pre_transform.lidar_hd":[[4,3,1,"","lidar_hd_pre_transform"]],"myria3d.pctl.points_pre_transform.lidar_hd.lidar_hd_pre_transform.params":[[4,4,1,"","las_filepath"]],"myria3d.pctl.transforms":[[4,0,0,"-","compose"],[4,0,0,"-","transforms"]],"myria3d.pctl.transforms.compose":[[4,1,1,"","CustomCompose"]],"myria3d.pctl.transforms.compose.CustomCompose.params":[[4,4,1,"","transforms"]],"myria3d.pctl.transforms.transforms":[[4,1,1,"","CopyFullPos"],[4,1,1,"","CopyFullPreparedTargets"],[4,1,1,"","CopySampledPos"],[4,1,1,"","DropPointsByClass"],[4,1,1,"","MaximumNumNodes"],[4,1,1,"","MinimumNumNodes"],[4,1,1,"","NormalizePos"],[4,1,1,"","NullifyLowestZ"],[4,1,1,"","StandardizeRGBAndIntensity"],[4,1,1,"","TargetTransform"],[4,1,1,"","ToTensor"]],"myria3d.pctl.transforms.transforms.StandardizeRGBAndIntensity":[[4,2,1,"","standardize_channel"]],"myria3d.train":[[6,3,1,"","train"]],"myria3d.train.train.params":[[6,4,1,"","config"]],"myria3d.utils":[[5,0,0,"-","utils"]],"myria3d.utils.utils":[[5,3,1,"","define_device_from_config_param"],[5,3,1,"","eval_time"],[5,3,1,"","extras"],[5,3,1,"","get_logger"],[5,3,1,"","log_hyperparameters"],[5,3,1,"","print_config"]],"myria3d.utils.utils.extras.params":[[5,4,1,"","config"]],"myria3d.utils.utils.print_config.params":[[5,4,1,"","config"],[5,4,1,"","fields"],[5,4,1,"","resolve"]],"myria3d.utils.utils.print_config.params.printed and in what order":[[5,4,1,"",""]],"run.TASK_NAMES":[[6,6,1,"","FINETUNE"],[6,6,1,"","FIT"],[6,6,1,"","HDF5"],[6,6,1,"","PREDICT"],[6,6,1,"","TEST"]],myria3d:[[1,0,0,"-","callbacks"],[6,0,0,"-","predict"],[6,0,0,"-","train"]],run:[[6,1,1,"","TASK_NAMES"],[6,3,1,"","launch_hdf5"],[6,3,1,"","launch_predict"],[6,3,1,"","launch_train"]]},objnames:{"0":["py","module","Python module"],"1":["py","class","Python class"],"2":["py","method","Python method"],"3":["py","function","Python function"],"4":["py","parameter","Python parameter"],"5":["py","property","Python property"],"6":["py","attribute","Python attribute"]},objtypes:{"0":"py:module","1":"py:class","2":"py:method","3":"py:function","4":"py:parameter","5":"py:property","6":"py:attribute"},terms:{"0":[0,4,5,6,7,10,14,15,16],"003933709606504788":0,"03d":0,"04":14,"1":[0,2,4,5,7,13,14,16],"10":[0,2,14],"1000":[0,4],"11":[13,14],"12":[4,13],"12345":0,"123_456":4,"12500":7,"14":14,"155":0,"16":[0,3],"160":0,"161":0,"162":0,"17":[0,4],"19041":14,"1_amd64":14,"1km":15,"2":[0,4,7,14],"20":0,"2004":14,"2016":7,"2019":7,"2020":7,"2022":14,"20220607_151_dalles_proto":[10,16],"2023mmdd":9,"204":0,"22":14,"25":[0,15],"25m":[7,15],"2gb":15,"3":[0,1,4,7,10,13,14,16],"30":[10,14],"300":0,"30000":7,"32":7,"3d":[7,11,12],"4":[0,3,7,14,15],"40000":0,"46":0,"47":0,"48":0,"49":0,"5":[0,14],"50":[0,4,15],"50m":[15,16],"50mx50m":7,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"6":[0,1,4,14],"600":14,"64":0,"65":[0,15],"66":0,"67":0,"7":[0,14],"77":0,"7fa2af80":14,"9":[0,1,4,14],"abstract":4,"byte":4,"case":[6,9,14,15],"class":[1,2,3,4,6,7,10,11,12,15,16],"default":[2,4,11,14,15,16],"do":[4,7,10,14,15,16],"enum":6,"export":[13,14],"final":13,"float":4,"function":[3,4,14],"import":14,"int":[1,2,3,4,5],"new":[2,6,9,11,12,16],"null":[0,15],"public":13,"return":[1,2,4,6,16],"short":7,"true":[0,5,10],"try":[10,14],"var":14,"while":[3,14],"z\u00e9ro":4,A:[2,4,5,9,15,16],As:[7,14],At:[2,14,15],BE:15,By:15,For:[4,7,13,14,15],If:[1,4,7,10,13,14,15,16],In:[6,7,9,10,14,15,16],It:[4,7,11,12,14,15,16],Its:[11,12],On:7,One:15,Or:13,TO:[14,15],That:14,The:[4,7,9,10,11,12,14,15,16],Then:[13,14,15],There:[4,7],These:15,To:[2,10,13,14,15,16],With:14,___:14,_args_:0,_array_lik:4,_convert_:0,_interpol:2,_nested_sequ:4,_nestedsequ:4,_sphinx_paramlinks_myria3d:[2,4,5],_supportsarrai:4,_target_:0,_type:4,_type_:4,_version:9,abl:[14,16],about:4,abov:4,absenc:15,acceler:[0,13],accept:[7,9,14],access:[4,5,9,14],accord:[14,16],accordingli:14,account:[7,10],achiev:15,acquisit:15,action:15,activ:[6,9,10,13,14],acucmul:2,ad:9,adam:0,add:[2,4,13,14,15],addit:16,additionali:5,additionnali:[6,9,16],address:[14,15],adjac:4,admin:14,administr:14,adopt:7,aerial:[7,11,12,14,16],after:[6,10,14,16],afterward:3,again:[4,14],agre:14,agreement:14,ahead:14,al:7,all:[0,1,2,3,4,6,7,14,15,16],allow:[7,11,12,15,16],alreadi:[4,14],also:[7,11,12,14,15,16],alter:6,altern:[7,10,13,14,16],although:[3,11,12],alwai:15,an:[2,4,5,6,9,10,13,14,15,16],anaconda3:[13,14],anaconda:13,ani:[4,14,15,16],anymor:16,anyth:14,anywher:13,api_kei:0,app:9,applic:[14,15],apt:14,ar:[0,2,4,5,6,7,9,10,13,14,15,16],arbitrari:[4,9],architectur:[1,7,11,12],arg:4,argument:[10,13],ari0u:7,around:7,arrai:4,artefact:4,aspx:14,assign:4,associ:[9,10],attempt:7,au:10,augment:[0,4],augmentations_list:0,author:7,auto_insert_metric_nam:0,auto_log_co2:0,auto_lr_find:[0,10],autom:[6,10],automat:10,avail:[14,15],averag:[4,7,16],avoid:[2,16],ax:15,axi:4,b:[2,16],back:7,backward:13,balanc:16,base:[1,2,4,6,7,13,15],basefinetun:1,basenam:[2,4,16],bash:14,bashrc:[13,14],basic:7,batch:[2,3,4,7,10,15],batch_idx:2,batch_siz:[0,4,15],becaus:14,becom:[7,14],been:4,befor:[4,7,10,14,16],begin:1,below:[13,14,15],benchmark:7,benefit:7,best:[3,10,14],better:[14,15],between:[4,15,16],block:14,bool:[3,4,5],bootstrap:[11,12],both:[7,15],boundari:16,branch:[9,13,14],branch_nam:13,bridg:0,browser:14,build:[0,4,6,7,9,13,14,15],built:[9,11,12,15],bypass:4,c:[2,13],calcul:[2,4],call:[1,3,4,10],callabl:4,callback:[0,2,5,6,11],can:[5,7,9,10,11,12,13,14,15,16],cannot:[13,14],capabl:[7,10],card:[9,14],care:[2,3],carri:14,cast:4,center:[0,4],challeng:[7,14],chang:[6,13,14,15],channel:4,channel_data:4,characterist:15,check:[13,14],checkpoint:[0,6,10,15],checkpointed:10,choic:[11,12],choos:[2,10,14],cicd:9,ckpt:[0,10],ckpt_path:[0,6,10],clamp:4,clamp_sigma:4,class_nam:[1,2],class_weight:0,classif:[2,4,6,10,15,16],classification_dict:[0,2,4],classification_preprocessing_dict:[0,4,15],cli:15,click:14,clone:14,close:7,cloud:[2,3,4,11,12,14,15,16],code:[1,4,11,12,13,15],code_dir:[0,1],collat:4,collect:4,color:[4,16],com:[13,14],come:15,comet:[0,1,10],comet_api_token:0,comet_callback:0,comet_project_nam:0,comet_workspac:0,cometlogg:[0,1],command:14,comment:[14,15],commit:9,common:2,commun:7,compar:7,compat:[13,14,15],compil:14,complet:[9,14],complex:[4,7],compliant:9,compos:[5,6],composit:4,comput:[2,3,7,14,15],conceiv:7,conceptu:7,conda:[9,13,14],condit:6,config:[0,2,5,6,9,10,15,16],configur:[5,6,7,10,11,15,16],configure_optim:2,confmat:1,confus:7,consecut:4,consid:2,constant:10,contain:[2,4,6,10,14,15],content:[5,15],context:16,continu:14,contrast:6,contribut:7,control:[5,15,16],conveni:16,convent:[9,15,16],cooldown:0,copi:[4,14,15],copyfullpo:[0,4],copyfullpreparedtarget:[0,4],copysampledpo:[0,4],core:5,correct:[4,14],corresond:14,correspond:6,cost:7,coupl:[5,14],cours:7,cp39:14,cpu:[0,2,7,13,14],creat:[4,9,10,13,14,15,16],create_hdf5:[4,6,16],creation:[4,16],credenti:[10,15],criterion:0,cross:14,crossentropyloss:0,csv:[4,10,16],cu113:[13,14],cuda:[5,11,13],cudatoolkit:[13,14],current:15,current_epoch:1,custom:[10,16],customcompos:4,cwd:0,d:14,d_in:[0,1],data:[0,2,4,6,7,10,11,12,14],data_dir:[0,4,16],dataload:15,datamodul:[0,5,15,16],dataset:[0,6,7,10,15],dataset_descript:[0,5,6,10,15,16],date:[10,14,15],ddp:10,deactiv:1,deb:14,debug:[0,5],decim:[0,3],decis:6,decod:7,decor:5,deep:[4,11,12,14],defaut:[7,10,13,16],defin:[3,9,10,15],define_device_from_config_param:5,del:14,demonstr:14,denser:7,densiti:[7,11,12,14],depend:[13,14,15,16],design:[11,12,14,16],detail:[7,9,15],detect:7,determin:5,dev:13,develop:[11,14,15],devic:0,dict:[0,2,4],dictconfig:[5,6],dictionari:4,dictionnari:[2,4],differ:[3,4,6,7,16],difficult:14,digest:16,dim:[4,15],dimens:[1,4,16],dir:[4,15],direcli:7,directli:[4,7,13,14,15],directori:[1,2,4,6,13,14,15,16],dirpath:0,disabl:[0,5,10,15],displai:14,distanc:2,distinct:6,distribut:[4,14],distro:14,distronam:14,disturb:15,divid:16,divis:16,doc:2,docker:9,dockerfil:15,document:[9,14],doe:[13,14],doesn:15,don:[4,16],done:[4,6,14,16],doom:7,down:14,download:[4,14,15],downstream:4,dpkg:14,driver:[13,14],drop:[4,15],droppointsbyclass:[0,4],dtype:4,duplic:[4,16],durat:5,dure:[2,7,14,16],e:[4,6,7,9,10,14,15,16],each:[4,7,10,15,16],earlier:14,early_stop:0,earlystop:0,eas:4,easier:[5,13,14],easiest:13,easili:[11,12,14],edit:[4,13,14],effect:[4,7,10,15],either:15,elev:14,els:14,elsewher:14,embed:15,empti:4,en:2,enabl:[7,11,12,13,14],encapsul:15,encod:7,end:[1,13,14],enough:[13,15,16],ensur:14,enter:14,entropi:[0,2,15],entropy_channel:[0,2,15],enumer:6,env:[0,10,13,14,15],env_exampl:10,environ:[9,10,14,15],environemnt:14,epoch:[0,6,10],epoch_:0,epsg:[0,2,4,15,16],error:14,et:7,etc:[5,14],eval:0,eval_tim:5,eval_transform:4,evalu:[6,10,11,12],everi:3,everyth:[1,14],ex:14,exampl:[4,6,10,14],exclude_kei:4,exhaust:4,exist:14,expect:[4,7,13,15],experi:[6,7,10,11,12,15],experiment_nam:0,explicit:7,extend:[11,12],extra:[4,5,14],extradim:2,f:[13,14],face:7,factor:[0,15],factori:2,fail:[4,14],fals:[0,3],far:2,fashion:[4,7],faster:[7,13,15],featur:[2,4,9,14,16],fed:7,feed:4,feedback:7,few:[7,9,14],field:[4,5,16],figur:14,file:[0,1,2,4,5,6,10,13,14,15,16],filenam:0,filepath:2,fill:[10,15,16],filter:4,find:14,find_file_in_dir:4,finder:10,finetun:[1,6],finetune_funct:1,finetuningfreezeunfreez:1,first:[4,7,10,14],fit:[0,1,4,6,11,12,16],fix:[7,16],fixed_num_point:16,fixedpoint:7,flag:[10,15],flexibl:[7,11,12],fly:[4,16],focus:[7,11,12,14],folder:[0,10,15],follow:[4,6,7,9,10,13,14,16],follow_batch:4,forc:[2,4,5],forg:[13,14],format:[4,11,12,15],former:3,forward:[2,3,7,14],found:[14,16],framework:3,free:14,freez:1,freeze_before_train:1,french:[10,15,16],frequent:7,friendli:5,from:[1,4,5,6,7,10,11,12,13,14,16],full:[2,3,7,10,11,12],fuller:7,fulli:14,functionn:9,functool:0,further:9,g:[4,6,7,9,10,15,16],gain:7,game:14,geforc:14,gener:[4,11],geometr:[4,7,8,11,12,13,14],geometricnoneproofcollat:4,geometricnoneproofdataload:4,get:[1,2,4,7,14],get_comet_logg:1,get_iter:4,get_logg:5,get_metadata:4,get_method:0,get_neural_net_class:2,get_pdal_info_metadata:4,get_pdal_read:4,git:14,github:[9,13,14,15],given:[4,13,16],glanc:0,glibcxx_3:14,glob:15,gnu:14,go:14,good:16,gpg:14,gpu:[0,2,4,5,14,15],gpus_param:5,grid:7,gridsampl:[0,7],ground:[0,7],group:[15,16],guid:[14,15],ha:[7,15],hand:7,handl:13,happen:[4,16],hardwar:4,have:[4,13,14,15,16],hd:[10,15,16],hdf5:[0,6,10,16],hdf5_file_path:[0,4,16],hdf5dataset:4,hdf5lidardatamodul:[0,4],heavili:[11,12],help:[14,15],here:[0,7,14,15],hierarch:7,high:[7,9,11,12,14],higher:[14,16],hinder:7,hint:15,hoc:9,hold:14,home:[13,14],homogen:15,hood:16,hook:3,host:[9,15],hous:9,how:[9,11],howev:[4,15],html:2,http:[2,13,14],hu:7,hydra:[0,5,6,10,11,12,15],hyperparamet:10,hypothesi:7,i:[4,6,7,9,10,14,15,16],id:15,identifi:[2,15],idx_in_original_cloud:[2,4],ign:16,ignf:[13,14],ignor:[3,4],ignore_index:0,ignore_warn:0,ii:7,imag:[9,10],imageri:16,implement:[3,4,7,9,11,12,15,16],importerror:14,improv:15,includ:[2,4],increas:15,index:[4,11,14],indic:16,infer:[4,6,7,11,12,13,14],inferencedataset:4,info:4,inform:[0,4,16],infrar:16,init:14,initi:[4,5,14],inject:10,input:[0,2,4,15,16],input_data_dir:4,instal:[10,11,15],instanc:[3,13,15],instanti:[4,6],instead:[3,16],instruct:[10,13,15],integ:4,integr:15,intens:[4,16],interest:13,interestingli:7,interpol:[0,7,11,15],interpolation_k:[0,2],intersect:7,interv:16,intric:7,invers:2,io:2,iou:[10,11,12],ipc:15,irregular:15,iter:[7,11,12],its:[4,5,6,9,13,15],just:[14,16],keep:[2,10,11,12,14,15],kei:[4,14],kernel:14,keyword:15,kind:7,knn:11,kpconv:7,kwarg:[2,4],la:[0,2,4,6,15,16],label_smooth:0,larg:[4,7,11,12,14,15,16],larger:15,las1:4,las2:4,las_fil:4,las_filepath:4,las_path:4,las_paths_by_split_dict:4,las_paths_by_split_dict_typ:4,lasting_abov:0,later:[4,7,16],latest:[2,13,14],latter:3,launch_hdf5:6,launch_predict:6,launch_train:6,layer:[1,6],ld_library_path:[13,14],lead:[6,14],learn:[2,4,6,11,12,14],learningratemonitor:0,less:7,level:[7,9,15],leverag:[7,9],lib:[13,14],libarari:14,libcuspars:[13,14],librari:[5,9,10,11,12,13,14,16],libstdc:14,licens:14,lidar:[4,7,10,11,12,14,15,16],lidar_hd:0,lidar_hd_pre_transform:[0,4,16],light:2,lightn:[2,4,5,6,10,11,12,15],lightning_model:0,lightning_modul:2,lightningdatamodul:5,lightningmodul:5,like:[4,7,16],limit:[7,15],limit_test_batch:0,limit_train_batch:0,limit_val_batch:0,line:[13,14,15],link:[14,16],lint:9,linux:[11,14,15],linux_x86_64:14,list:[2,4,5,14,15,16],liter:[2,4],loact:4,load:[2,4,6,16],load_full_las_for_upd:2,local:[7,10,14,15],local_11:14,local_input:15,local_instal:14,local_output:15,localhost:14,locat:14,log:[1,4,5,10],log_cod:0,log_comet_cm:1,log_every_n_step:0,log_hyperparamet:5,log_logs_dir:0,log_momentum:0,logcod:[0,1],logger:[0,1,5,10,15],logging_interv:0,logic:[11,12,15,16],logit:[2,7],loglogspath:[0,1],logs_dir:10,look:[4,15],loss:2,loss_epoch:0,lower:16,lowest:4,lr:[0,6],lr_monitor:0,lr_schedul:[0,6],m:9,machin:14,made:2,mai:[7,9,10,14,15,16],main:[5,7,9,13,14],make:[3,4,9,10,11,12,13,14,15],make_toy_dataset_from_test_fil:4,mamba:13,manag:[0,13,14,15],mani:7,manual:[10,14],map:[4,15],match:[4,13,14,15],matrix:[7,13],max_epoch:0,maximumnumnod:[0,4],md:9,mean:[7,9,10,14,15],meatadata:15,meet:7,memori:[2,7,15,16],mention:15,merg:[9,11],metadata:[4,16],method:[1,4,5,7,14],metric:[1,2,7],metric_callback:0,might:[7,10,13,14],min:0,min_delta:0,min_epoch:0,min_num_nod:0,mind:7,miniconda3:[13,14],minim:15,minimumnumnod:[0,4],minut:14,mismatch:14,miss:15,ml:[1,10],mmodel:7,mode:[0,5,7,13,14],model:[0,4,5,6,9,11,12,14,15,16],model_checkpoint:0,model_detailed_metr:0,modelcheckpoint:0,modelmetr:0,modifi:[5,15],modul:[2,5,11,15],momentum:0,monitor:0,more:[0,4,7,10,14,15],most:[7,14],mount:15,move:[2,14],much:14,multi:[4,5],multiclass:[11,12,14],multigpu:10,multipl:[4,11,15,16],multiple_fil:15,multipli:[7,15],multithread:15,must:[6,7,14,15,16],mv:14,myria3d:[0,7,9,12,15,16],n:[2,7,13,15],name:[2,4,5,9,10,14,15,16],nation:7,navig:14,nb_point:2,ndarrai:[2,4],ndvi:[4,16],necessari:[2,4,14],need:[2,3,4,7,10,13,14,15,16],neg:15,nest:16,net:[2,6,7],network:[2,6,11,12],neural:[2,6,11,12],neural_net_class_nam:0,neural_net_hparam:0,newer:13,next:[7,10,14],nexu:9,nn:[0,2],non:[14,15],none:[1,2,4,5,10,15],noneproof:4,normal:[0,4],normalizations_list:0,normalizepo:[0,4],note:[15,16],now:14,np:4,nullifylowestz:[0,4],num:4,num_class:[0,1,3,6],num_featur:[0,3],num_neighbor:[0,3],num_nod:0,num_sanity_val_step:0,num_work:[0,4],number:[4,5,6,10,15,16],numpi:[2,4],nvidia:[13,14],nvml:14,o:4,object:[4,6,7,13,14,15,16],oc:[0,15],occlud:16,occur:[7,14],offici:[7,16],old:14,older:13,omegaconf:[5,6],on_train_start:1,onc:[10,16],one:[2,3,4,6,10,14,15],ones:4,onli:[2,4,7,13,14,16],onlin:14,open:[13,14,16],oper:[7,14],opini:[11,12],opposit:7,optim:[0,1,2,11,12],optimizer_idx:1,option:[1,2,4,5],optionn:[2,14,15],optionnali:6,order:[5,6,7,15],org:14,origin:[2,4,15],oserror:[13,14],other:[7,10,14,15],otherwis:[4,14],our:[3,7],out:[1,4,10,14,15],outdoor:7,output:[2,6],output_dir:[0,2,15],over:7,overfit:10,overlap:[4,8],overrid:[4,15],overridden:3,own:[3,7,16],packag:[9,14,15,16],page:[9,10,14,16],paper:[7,10],param:[4,5,15],paramet:[2,4,5,6,15,16],parcimoni:7,part:[13,14,15,16],partial:0,particular:[7,10,13],pass:[2,3,7,9],path:[0,2,4,10,14,15,16],patienc:[0,6],pattern:[4,15],pctl:[0,11,16],pdal:[4,16],pdal_read_las_arrai:4,pdal_read_las_array_as_float32:4,pdaltool:16,pep8:9,per:10,perfom:10,perform:[3,4,6,10,11,16],persist:14,phase:1,pin:14,pip:[13,14],pipelin:[4,6],pl_modul:1,place:[5,7],placehold:14,pleas:14,plu:[15,16],po:[2,3,4],point:[2,3,4,11,12,14,16],pointnet:7,points_budget:16,points_pre_transform:[0,16],posit:[2,4],possibl:16,powershel:14,ppa:14,pre:4,pre_filt:[0,4],pre_filter_below_n_point:[0,4],precomput:4,predict:[0,1,2,4,5,7,10,11],predict_dataload:4,predict_step:2,predicted_classification_channel:[0,2,15],predictedclassif:[0,2,15],prefer:[7,14],prefetch_factor:[0,4],prefix:14,prepar:[0,4,6,10,11],preparations_eval_list:0,preparations_predict_list:0,preparations_train_list:0,prepare_data:4,prepared_data_dir:4,preprocess:[4,16],present:15,press:14,price:15,print:5,print_config:[0,5],proba:[2,15],probabilit:[2,15],probabl:[2,6,13,15],probas_to_sav:[0,2,15],problem:14,proce:10,process:[3,4,7,9,11,12,14],prod:9,produc:15,product:9,progress:8,project:15,project_nam:0,prompt:14,propag:7,properli:14,properti:4,provid:[10,15,16],proxi:15,ptr:3,pub:14,pull:[7,9],pure:[13,14],purpos:[4,14],push:9,py:[9,10,15,16],pyg:[4,14],pyg_randla_net:3,pygrandlanet:[0,3],pypi:13,pytest:9,python:[5,9,10,15,16],pytorch:[2,6,7,10,11,12,13,14,15],pytorch_geometr:[14,16],pytorch_lightn:[0,1,5,6],qi:7,quadro:14,queri:4,quit:14,quot:15,r:[14,16],ra:9,randla:7,randlanet:10,randlanet_base_run_fr:10,randlanetdebug:0,randlanetdebugfinetun:6,random:7,rang:[4,10],rapid:[11,12],rate:[2,6],raw:[4,16],raw_path:2,read:[2,4,16],reader:4,readi:[4,10,14,16],readm:15,readthedoc:2,recent:13,recept:[4,16],recip:[3,13],recommend:[4,14],reconstruct:16,recudelronplateau:6,reduc:[7,10],reduce_predicted_logit:2,reduce_predictions_and_sav:2,reducelronplateau:0,reduct:7,refer:[0,5,10,15],referenc:16,regist:3,regroup:16,regular:[8,15],rel:[4,7],relat:[13,14],releas:[9,13],reli:[11,12],reliabl:[7,11,12],reload:4,reload_dataloaders_every_n_epoch:4,remov:[13,14],renam:10,replac:[13,14],repo:14,repositori:[9,14,15],repres:7,request:[2,7,9],requir:[7,13,14],reset:6,resolut:7,resolv:5,restart:14,result:[4,7,10,11,12,15],resum:6,return_logit:[0,3],review:14,rgb:[4,16],rgbi:16,rich:[5,7],right:14,robust:7,role:9,rtx:14,run:[1,3,9,13,14,16],runtim:[0,10,15],runtimeerror:14,s3di:7,s:[4,11,13,14,15,16],safe:1,same:[2,7,14],sampl:[4,7,15,16],sampler:4,samples_hdf5_path:4,save:[2,5,10,15],save_last:0,save_top_k:0,scale:[4,7,11,12,14,16],schedul:[2,6],schema:16,scheme:2,scope:[11,12,14],script:11,scroll:14,section:[4,10,14],see:[4,6,7,9,10,13,14,15,16],seed:[0,5],segment:[2,6,7,11,12,14,16],select:[14,16],semant:[2,6,7,9,11,12,14],semantic3d:7,semantickitti:7,semin:7,sequenc:[4,5],sequenti:1,serv:9,set:[4,6,7,10,15,16],setup:[1,4],setup_env:13,sever:[4,15],sh:14,share:[13,14,15,16],shm:15,should:[3,4,13,14,15,16],show:[0,15],shown:14,shut:14,shutdown:14,signatur:[11,12],silent:3,similar:16,similarli:16,simpl:[4,7],simpli:[1,15,16],simplic:7,simplifi:7,sinc:[3,7],singl:[4,10,11,12,16],situat:7,size:[3,7,10,15,16],small:[4,16],smaller:[7,16],smi:14,smooth:15,so:[2,10,13,14,15],solut:7,some:[4,10,11,12,14],someth:14,sota:7,sourc:[0,1,2,3,4,5,6,14,16],space:15,spatial:15,special:6,specif:[4,6,7,13,14,15,16],specifi:[4,5,6,7,10,15,16],spent:7,spit:16,spli:16,split:[4,16],split_cloud_into_sampl:4,split_csv:4,split_csv_path:[0,4,16],squar:15,src_la:[0,2,15],src_las_path:4,stage:[1,4,9],standalon:15,standard:[4,11,12,16],standardize_channel:4,standardizergbandintens:[0,4],start:[1,6,7,13],state:[4,6,14],stem:10,step:[0,2,7,9,10,14],still:[13,14,15],store:[15,16],store_predict:2,str:[1,2,4,5],strategi:7,stronger:6,structur:[5,11,12],subclass:3,subdir:6,subdirectori:[4,16],subfold:[4,10],suboptim:7,subsampl:4,subsystem:14,subtil:4,subtile_overlap:[0,4,15],subtile_overlap_predict:[0,4],subtile_overlap_train:[0,4],subtile_width:[0,4],success:[9,15],sudo:14,suit:16,sumbsampl:2,superior:7,supervis:7,support:[10,11,12],sure:14,swicth:15,system:[13,14],t:[4,15,16],tabl:14,tag:9,take:[2,3,7,14,16],taken:14,tarbal:[13,14],target:[2,4,14],targettransform:[0,4],task:[0,5,6,10,15,16],task_nam:[0,6,10,15],td_prepar:4,team:14,templat:[11,12],tensor:[2,4],term:[7,11,12],termin:14,test:[0,1,2,4,6,7,8,14,16],test_dataload:4,test_step:[2,4],text:14,than:[7,10,13,14],thank:13,thei:15,them:[3,4,7],thi:[2,3,4,5,6,7,9,10,11,12,13,14,15,16],third:7,thoma:7,thu:7,tile:4,tile_width:[0,4],time:[2,4,7,8,10,11,12,14,16],tini:7,todo:11,togeth:4,toi:[4,10],tool:16,toolchain:14,toolkit:[13,14,16],torch:[0,2,4,13,14],torch_clust:14,torch_geometr:[0,2,4,7],torch_scatt:14,torch_spars:14,totensor:4,toy_dataset:[0,16],track:9,train:[0,1,2,4,7,11,12,15],train_dataload:4,train_transform:4,trainabl:5,trained_model_asset:15,trainer:[0,1,5,6,10],training_step:2,transform:[0,2,7,15,16],tree:5,tri:[4,14],tricki:14,trigger:7,tune:1,tupl:2,turn:[4,16],tutori:[9,10,15],two:16,type:[2,4,6,14],typic:6,ubuntu:[13,14],uncertainti:15,unclassifi:[0,4],under:[15,16],unfreez:1,unfreeze_decoder_train_epoch:1,unfreeze_fc_end_epoch:1,union:[2,4,7],unless:4,unmodifi:14,unorm:4,unseen:[6,11,12],until:7,unus:2,up:[10,15],updat:[1,2,14,15],upgrad:[13,14],upload:1,upon:[11,12],urban:7,url:14,us:[1,2,3,4,5,6,7,9,10,13,14,15,16],useful:4,user:[13,14,15],usernam:14,usual:7,util:[0,11,14],v3:7,v:[9,15],val:[0,4,16],val_dataload:4,valid:[1,2,4,6,10,15],validation_step:[2,4],valu:[0,4,6,14,15],variabl:[7,10,15,16],variou:14,vector:4,veget:[0,7,15],verbos:0,veri:15,version:[7,13,14],via:[9,13,15,16],virtual:[10,14,15],visibl:15,volum:15,wa:[7,11,12,14,16],wai:[7,13,14],want:[7,13,14,15,16],warn:[5,8,13],water:0,we:[0,2,7,13,14,15,16],weight:6,weightn:2,well:[2,6,14,15],were:[7,15],wget:14,what:[2,5,15],wheel:[13,14],when:[1,4,9,10,15],where:[4,10],whether:[5,14],which:[2,5,6,7,9,10,11,12,13,14,15,16],whl:14,whole:4,whose:[15,16],why:14,width:4,window:[14,15],wise:4,within:[3,7,14,16],without:[2,4,14,16],work:[1,7,8,13,14,15],work_dir:0,workflow:9,workspac:0,would:4,write:14,wsl2:11,www:14,x10:7,x5:7,x86_64:14,x:[2,3,4,15,16],xy:4,xyz:2,y:[2,4,13,14,15],y_mean:4,y_std:4,yaml:[6,9,10,15,16],ye:14,yet:14,yield:4,yml:[13,14],you:[4,10,13,14,15,16],your:[2,10,13,14,15,16],yourself:4,z:4},titles:["Default configuration","myria3d.callbacks","myria3d.models","myria3d.models.modules","myria3d.pctl","myria3d.utils","Scripts","General design of the package","KNN-Interpolation to merge multiple predictions [TODO]","Developer\u2019s guide","How to train new models","Myria3D > Documentation","<no title>","Install Myria3D on Linux","Install Myria3D on WSL2 with CUDA support","Performing inference on new data","Preparing data for training"],titleterms:{"default":0,"function":16,"import":7,"new":[10,15],addit:15,anaconda:14,approach:7,artefact:15,background:11,callback:1,cd:9,ci:9,cloud:7,code:9,comet_callback:1,compos:4,configur:0,content:1,continu:9,cuda:14,data:[15,16],dataload:4,datamodul:4,dataset:[4,16],deliveri:9,design:7,develop:9,dimens:15,docker:15,document:11,dure:15,environ:13,essenc:7,evalu:7,fast:7,field:15,finetuning_callback:1,from:15,gener:7,geometr:3,get:[11,16],gpu:10,guid:[9,11],hdf5:4,how:10,ignor:15,imag:15,improv:7,indic:11,infer:[10,15],instal:[13,14],integr:9,interpol:[2,8],iter:4,kei:7,knn:8,learn:10,lidar_hd:4,linux:13,logging_callback:1,merg:8,model:[2,3,7,10],modul:[1,3],multi:10,multipl:8,myria3d:[1,2,3,4,5,6,11,13,14],net:3,optim:10,option:15,output:15,overlap:15,packag:[7,11,13],pctl:4,peprocess:16,perform:[7,15],point:[7,15],points_pre_transform:4,practic:7,predict:[6,8,15],prepar:16,prerequisit:13,pytorch:3,quick:10,quickli:16,randla:3,rate:10,recept:15,refer:11,right:7,run:[6,10,15],s:9,script:6,select:7,set:[13,14],setup:10,should:7,sourc:[13,15],speed:7,start:[11,16],structur:7,submodul:1,subsampl:7,support:14,tabl:11,test:[9,10],time:15,todo:8,toi:16,toy_dataset:4,train:[6,10,16],transform:4,troubleshoot:[13,14],up:[13,14],util:[4,5],version:9,virtual:13,within:15,wsl2:14,wsl:14}}) \ No newline at end of file