isl-org / isl-org/Open3D-ML

Train RandLANet from Readme does not seem to work

Open
#639 1 comment 0 reactions 0 assignees View on GitHub
bug
Dominant language
Python
Stars
2.3k
Forks
365
Avg merge
4h 6m
Merged PRs (30d)
1

Description

### Checklist

- [X] I have searched for [similar issues](https://github.com/isl-org/Open3D-ML/issues).
- [X] I have tested with the [latest development wheel](http://www.open3d.org/docs/latest/getting_started.html#development-version-pip).
- [X] I have checked the [release documentation](http://www.open3d.org/docs/release/) and the [latest documentation](http://www.open3d.org/docs/latest/) (for `main` branch).

### Describe the issue

trying the code from the readme:
```
import ml3d
from ml3d.torch import RandLANet, SemanticSegmentation

# use a cache for storing the results of the preprocessing (default path is './logs/cache')
dataset = ml3d.datasets.SemanticKITTI(dataset_path='/path/to/SemanticKITTI/', use_cache=True)

# create the model with random initialization.
model = RandLANet()

pipeline = SemanticSegmentation(model=model, dataset=dataset, max_epoch=100)

# prints training progress in the console.
pipeline.run_train()

```
(after adding the imports, would be amazing if they were also included in the example code)
results in:
```
Traceback (most recent call last):
File "open3d-ml/train_semseg_pipeline.py", line 15, in
pipeline.run_train()
File "open3d-ml/ml3d/torch/pipelines/semantic_segmentation.py", line 376, in run_train
self.optimizer, self.scheduler = model.get_optimizer(cfg)
File "open3d-ml/ml3d/torch/models/randlanet.py", line 354, in get_optimizer
**cfg_pipeline.optimizer)
File "open3d-ml/ml3d/utils/config.py", line 244, in __getattr__
return getattr(self._cfg_dict, name)
File "open3d-ml/ml3d/utils/config.py", line 27, in __getattr__
raise ex
AttributeError: 'ConfigDict' object has no attribute 'optimizer'
```

Am I doing something wrong here?

### Steps to reproduce the bug

```python
see above
```

### Error message

```
Traceback (most recent call last):
File "open3d-ml/train_semseg_pipeline.py", line 15, in
pipeline.run_train()
File "open3d-ml/ml3d/torch/pipelines/semantic_segmentation.py", line 376, in run_train
self.optimizer, self.scheduler = model.get_optimizer(cfg)
File "open3d-ml/ml3d/torch/models/randlanet.py", line 354, in get_optimizer
**cfg_pipeline.optimizer)
File "open3d-ml/ml3d/utils/config.py", line 244, in __getattr__
return getattr(self._cfg_dict, name)
File "open3d-ml/ml3d/utils/config.py", line 27, in __getattr__
raise ex
AttributeError: 'ConfigDict' object has no attribute 'optimizer'
```

### Expected behavior

_No response_

### Open3D, Python and System information

```markdown
- Operating system: ubuntu
```

### Additional information

_No response_

Contributor guide

No contributing guide indexed for this repository

Research direction

Start with the README training example and reproduce the traceback using ml3d/torch/pipelines/semantic_segmentation.py, ml3d/torch/models/randlanet.py, and ml3d/utils/config.py. Check how the pipeline configuration reaches RandLANet.get_optimizer and update the example or configuration so training starts without the reported AttributeError, including the missing imports noted in the issue.

Written by the indexing model from the issue text.

Assessment

Tech stack
python, pytorch
Domain
machine-learning
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.