Оптимизация проходит нормально — все испытания завершаются, — но сразу после завершения ноутбук выходит из строя с предупреждением FutureWarning из пакета признаков.
После этой ошибки никакие последующие ячейки (например, сохранение результатов испытаний в CSV) не могут выполняться.
Вот основная часть моего кода Optuna:
Код: Выделить всё
import optuna
from optuna.storages import RDBStorage
import warnings
warnings.filterwarnings("ignore", category=FutureWarning)
study_name = "tabm_tuning"
study = optuna.create_study(
study_name=study_name,
direction="minimize",
storage=RDBStorage(url=f"sqlite:///{study_name}.db")
)
# enqueue one predefined parameter set
study.enqueue_trial(params_2)
# run optimization for 10 trials (example)
study.optimize(
lambda trial: objective(trial, X_train, y_train, X_val, y_val),
n_trials=10,
timeout=41710
) # use of timeout to prevent runtime out error
study.best_params
df_trial=study.trials_dataframe()
df_trial.to_csv(f'{study_name}_df.csv',index=False)
df_trial
Код: Выделить всё
[I 2025-10-27 14:50:51,477] Trial 9 finished with value: 0.05611381708907078 and parameters: {'patience': 15, 'tabm_k': 112, 'gradient_clipping_norm': 0.915269632521597, 'lr': 0.0008291955423479689, 'weight_decay': 0.007870223162632283, 'n_blocks': 5, 'd_block': 210, 'dropout': 0.35379749466109023, 'd_embedding': 11}. Best is trial 5 with value: 0.056029200575024675.
20800.4s /usr/local/lib/python3.11/dist-packages/traitlets/traitlets.py:2915: FutureWarning:
--Exporter.preprocessors=["remove_papermill_header.RemovePapermillHeader"] for containers
is deprecated in traitlets 5.0. You can pass `--Exporter.preprocessors item` ... multiple times.
20803.4s /usr/local/lib/python3.11/dist-packages/traitlets/traitlets.py:2915: FutureWarning:
--Exporter.preprocessors=["nbconvert.preprocessors.ExtractOutputPreprocessor"] for containers
is deprecated in traitlets 5.0.
20804.2s Traceback (most recent call last):
20804.2s File "/usr/local/bin/jupyter-nbconvert", line 10, in
Вопрос
Как я могу предотвратить или безопасно обработать это FutureWarning от трейлетов (вызываемое nbconvert), чтобы мой блокнот Kaggle не вышел из строя после завершения работы Optuna?
Есть ли надежный обходной путь или исправление для этой проблемы в средах Kaggle/Jupyter?>
Подробнее здесь: https://stackoverflow.com/questions/798 ... ook-failur
Мобильная версия