-
Notifications
You must be signed in to change notification settings - Fork 52
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Failed to run PS3E25 LightAutoML Neural Nets baseline in VS Code #145
Comments
@sandeshregmi please try to install LightAutoML before importing any library, that should help. |
@alexmryzhkov Thank you for your suggestion. I followed your suggestion but I still got same error. Here are the list of package dependencies that installed before I imported other packages. |
Hello @sandeshregmi! Can you please tell me the way you installed LightAutoML? I have tried to run the code with the installed Moreover, I have tried the same with cloning and building the LightAutoML master branch and, again, have successfully run the scripts in the notebook. Nevertheless, I was able to reproduce this error by installing LightAutoML with If you used |
@BELONOVSKII Thank you! for me following version worked |
@BELONOVSKII Also, do you have a suggestion or (notebook) to do model explanation analysis for a model built by for example 'fttransformer'? |
@sandeshregmi you can use this kernel as a reference how to use FTTransformer - it is the last one in the list. |
@alexmryzhkov Thank you! Sorry I was not very descriptive in my question. Do you think we can generate something similar to SHAP plot ? Or Attention weights based feature importance? |
@sandeshregmi Hello! LightAutoML has an implementation of SSWARM algorithm for model-agnostic computations of Shapley values. This algorithm computes Shapley values for compositions of any ML models (not only tree-based). For now, this algorithm is not released in GitHub or PyPI (will come in the near future), nevertheless, I have a |
@BELONOVSKII Thank you! |
@sandeshregmi yes, you need to uninstall 0.3.9b1 and use the whl file @BELONOVSKII provided because it is the only current version which hav SSWARM algo to calc shapely values based on lightautoml models |
@BELONOVSKII Awesome! It worked. Thank you |
@BELONOVSKII One thing I noticed is though |
@sandeshregmi Hello. |
@BELONOVSKII Could you please review this code. I am getting same feature name for
|
@sandeshregmi Hello! Yes, in this code I have manually set the interaction feature for each plot ( the first feature in the list ). However, you can set any other feature for interaction, or set the parameter to Read more in the |
I downloaded .ipynb file from kaggle and tried running in VS code. It worked for LGBM algorithm but not others. Here is an error I got when I ran MLP.
[16:30:57] Stdout logging level is INFO3.
[16:30:57] Task: reg
[16:30:57] Start automl preset with listed constraints:
[16:30:57] - time: 10000.00 seconds
[16:30:57] - CPU: 4 cores
[16:30:57] - memory: 16 GB
[16:30:57] Train data shape: (11651, 12)
[16:30:57] Layer 1 train process start. Time left 9999.99 secs
[16:30:57] Start fitting Lvl_0_Pipe_0_Mod_0_TorchNN_mlp_0 ...
[16:30:57] ===== Start working with fold 0 for Lvl_0_Pipe_0_Mod_0_TorchNN_mlp_0 =====
[16:30:57] Model Lvl_0_Pipe_0_Mod_0_TorchNN_mlp_0 failed during ml_algo.fit_predict call.
'str' object is not callable
[16:30:57] Traceback (most recent call last):
File "c:\Users\sregmi444\Anaconda3\envs\test\lib\site-packages\lightautoml\ml_algo\utils.py", line 72, in tune_and_fit_predict
preds = ml_algo.fit_predict(train_valid)
File "c:\Users\sregmi444\Anaconda3\envs\test\lib\site-packages\lightautoml\ml_algo\dl_model.py", line 472, in fit_predict
return super().fit_predict(train_valid_iterator)
File "c:\Users\sregmi444\Anaconda3\envs\test\lib\site-packages\lightautoml\ml_algo\base.py", line 273, in fit_predict
model, pred = self.fit_predict_single_fold(train, valid)
File "c:\Users\sregmi444\Anaconda3\envs\test\lib\site-packages\lightautoml\ml_algo\dl_model.py", line 498, in fit_predict_single_fold
val_pred = model.fit(dataloaders)
File "c:\Users\sregmi444\Anaconda3\envs\test\lib\site-packages\lightautoml\text\trainer.py", line 430, in fit
self._init()
File "c:\Users\sregmi444\Anaconda3\envs\test\lib\site-packages\lightautoml\text\trainer.py", line 335, in _init
self.model = self.net(**self.net_params)
File "c:\Users\sregmi444\Anaconda3\envs\test\lib\site-packages\lightautoml\text\nn_model.py", line 295, in init
self.cont_embedder = cont_embedder(**cont_params)
TypeError: 'str' object is not callable
AssertionError Traceback (most recent call last)
Cell In[27], line 20
1 algo = 'mlp'
2 automl = TabularAutoML(
3 task = task,
4 timeout = TIMEOUT,
(...)
17 reader_params = {'n_jobs': N_THREADS, 'cv': N_FOLDS, 'random_state': RANDOM_STATE, 'advanced_roles': ADVANCED_ROLES}
18 )
---> 20 oof_pred = automl.fit_predict(tr_data, roles = roles, verbose = 3)
21 test_pred = automl.predict(te_data)
22 oof = score(task, mapped(tr_data[TARGET_NAME].values, task, automl.reader.class_mapping), take_pred_from_task(oof_pred.data, task))
File c:\Users\sregmi444\Anaconda3\envs\test\lib\site-packages\lightautoml\automl\presets\tabular_presets.py:709, in TabularAutoML.fit_predict(self, train_data, roles, train_features, cv_iter, valid_data, valid_features, log_file, verbose)
706 if self.is_time_series:
707 train = {"seq": {"seq0": train}}
--> 709 oof_pred = super().fit_predict(train, roles=roles, cv_iter=cv_iter, valid_data=valid_data, verbose=verbose)
711 return cast(NumpyDataset, oof_pred)
File c:\Users\sregmi444\Anaconda3\envs\test\lib\site-packages\lightautoml\automl\presets\base.py:207, in AutoMLPreset.fit_predict(self, train_data, roles, train_features, cv_iter, valid_data, valid_features, verbose)
204 logger.info(f"- memory: {self.memory_limit} GB\n")
206 self.timer.start()
--> 207 result = super().fit_predict(
208 train_data,
209 roles,
210 train_features,
211 cv_iter,
212 valid_data,
213 valid_features,
214 verbose=verbose,
215 )
217 logger.info("\x1b[1mAutoml preset training completed in {:.2f} seconds\x1b[0m\n".format(self.timer.time_spent))
218 logger.info(f"Model description:\n{self.create_model_str_desc()}\n")
File c:\Users\sregmi444\Anaconda3\envs\test\lib\site-packages\lightautoml\automl\base.py:218, in AutoML.fit_predict(self, train_data, roles, train_features, cv_iter, valid_data, valid_features, verbose)
216 for k, ml_pipe in enumerate(level):
217 ml_pipe.debug = self.debug
--> 218 pipe_pred = ml_pipe.fit_predict(train_valid)
219 level_predictions.append(pipe_pred)
220 pipes.append(ml_pipe)
File c:\Users\sregmi444\Anaconda3\envs\test\lib\site-packages\lightautoml\pipelines\ml\base.py:135, in MLPipeline.fit_predict(self, train_valid)
131 self.ml_algos.append(ml_algo)
133 predictions.append(preds)
--> 135 assert (
136 len(predictions) > 0
137 ), "Pipeline finished with 0 models for some reason.\nProbably one or more models failed"
139 predictions = concatenate(predictions)
141 del self._ml_algos
AssertionError: Pipeline finished with 0 models for some reason.
Probably one or more models failed
The text was updated successfully, but these errors were encountered: