ESA-PhiLab / iris

Semi-automatic tool for manual segmentation of multi-spectral and geo-spatial imagery.
GNU General Public License v3.0
135 stars 41 forks source link

TypeError: fit() got an unexpected keyword argument 'early_stopping_rounds' #36

Open robmarkcole opened 1 year ago

robmarkcole commented 1 year ago

Running iris demo I annotate each class and hit the AI button:

image

I get:

Fit options: {'mask_encoding': 'rgb', 'score': 'f1', 'prioritise_unmarked_images': True, 'unverified_threshold': 1, 'test_images': None, 'ai_model': {'bands': None, 'train_ratio': 0.8, 'max_train_pixels': 20000, 'n_estimators': 20, 'max_depth': 10, 'n_leaves': 10, 'suppression_threshold': 0, 'suppression_filter_size': 5, 'suppression_default_class': 0, 'use_edge_filter': False, 'use_superpixels': False, 'use_meshgrid': False, 'meshgrid_cells': '3x3'}, 'path': '/Users/robin.cole/Documents/GitHub/iris/demo/images/{id}/mask.png', 'mask_area': [64, 64, 448, 448], 'mask_shape': [384, 384]}
[2023-09-26 10:48:54,788] ERROR in app: Exception on /segmentation/predict_mask/mountains [POST]
Traceback (most recent call last):
  File "/Users/robin.cole/Documents/GitHub/iris/venv/lib/python3.9/site-packages/flask/app.py", line 2190, in wsgi_app
    response = self.full_dispatch_request()
  File "/Users/robin.cole/Documents/GitHub/iris/venv/lib/python3.9/site-packages/flask/app.py", line 1486, in full_dispatch_request
    rv = self.handle_user_exception(e)
  File "/Users/robin.cole/Documents/GitHub/iris/venv/lib/python3.9/site-packages/flask/app.py", line 1484, in full_dispatch_request
    rv = self.dispatch_request()
  File "/Users/robin.cole/Documents/GitHub/iris/venv/lib/python3.9/site-packages/flask/app.py", line 1469, in dispatch_request
    return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args)
  File "/Users/robin.cole/Documents/GitHub/iris/iris/user/__init__.py", line 34, in decorated
    return func(*args, **kwargs)
  File "/Users/robin.cole/Documents/GitHub/iris/iris/segmentation/__init__.py", line 383, in predict_mask
    gbm.fit(
TypeError: fit() got an unexpected keyword argument 'early_stopping_rounds'

I have lightgbm==4.1.0

aliFrancis commented 1 year ago

This is a known issue, e.g. #21, and related to your earlier #35. Currently lightgbm 3.3.3 is the recommended version, need to get to the bottom of why this is not installed easily on MacOSX.