Known Issues
Известные проблемы и расхождения с документацией
Список вещей, которые не работают как задокументировано в других местах репозитория (корневой README.md, make_docs/), или которые могут удивить при первом использовании. Составлен по фактическому чтению кода на момент написания этой документации.
Баги
ComponentsObject.update_wear() / .predict_fix() падают с AttributeError
src/mlumina/components_wear/components_object.py:163 и :272 вызывают несуществующий метод self._get_wear_dict(). Реально определён _get__dict() (строка 74, с двойным подчёркиванием). Воспроизводится в штатном примере examples/components_wear/example.py:33. Подробности и обходной путь — components-wear.md.
Расхождения корневого README.md с кодом
Примеры кода в разделе "Использования фреймворка MLumina" корневого README.md местами не соответствуют реальному API:
| В README | В коде |
|---|---|
from mlumina import hello; hello() |
src/mlumina/__init__.py пуст, функции hello не существует |
YoloImageModel(model_path="yolov8n.pt") |
YoloImageModel(model) — принимает готовый объект ultralytics.YOLO, не путь |
model.predict_parallel(image_paths=..., batch_size=...) |
метод называется predict_ray(images, num_workers=2, **kwargs) |
from mlumina.interpolation_tables import InterpolationTable, evaluate_models_parallel |
класс называется TableInterpolator; функции evaluate_models_parallel нет — ближайшие аналоги compare_multiple_models/compare_multiple_models_ray |
graph.calculate_parallel() |
метода нет; есть simulate_objects, simulate_objects_ray, simulate_objects_bn |
Раздел README про XGBoost (xgboost_load_dataset, XGBoostModel, XGBoostTuningModel) — единственный, полностью совпадающий с кодом.
make_docs/ (Sphinx) не отражает текущий код
make_docs/source/introduction/what_is_mlumina.rst описывает MLumina как открытый мультимодальный AutoML-фреймворк с эволюционным поиском пайплайнов, поддержкой классификации/регрессии/временных рядов и сохранением/загрузкой найденных решений. В коде ничего из этого нет — библиотека представляет собой набор независимых обёрток и утилит (см. README). Единственный фрагмент кода в этом файле (TableInterpolator) — рабочий и совпадает с реальным API. Большинство разделов, на которые ссылается make_docs/source/index.rst (basics/, advanced/, examples/, benchmarks/, api/, contribution, about, faq/), физически не созданы.
Прочие несостыковки/ограничения кода
mlumina/__main__.py— пустой стаб,python -m mluminaничего не делает; вpyproject.tomlнет[project.scripts], т.е. CLI-команды у пакета нет.run.shссылается наexamples/isppr/examples.py— такой директории (examples/isppr/) в репозитории нет.mlumina.coreимеет побочные эффекты при импорте:init_config(MLuminaConfig)иsetup_logging()вызываются на уровне__init__.py. Это требует, чтобыconfigs/settings.yaml(или файл по пути изMLUMINA_SETTINGS_PATH) существовал и был валиден, аdata.train_file/data.eval_fileиз него — реально существующими файлами (типpydantic.FilePath), иначе любойimport mlumina.core(и транзитивно многое другое) упадёт при инициализации конфига.mlumina.scheduler.mainтоже имеет побочный эффект при импорте: создаётScheduler()(подключение к Ray) и вызывает блокирующийscheduler.start()(запускuvicorn). Модуль нельзя просто импортировать — только запускать как процесс.YoloImageModel.predict_ray/train_ray/tune_optunaвнутри Ray-воркеров всегда создаютYOLO("yolov8n.pt")как базовую архитектуру перед загрузкой переданных весов — корректно работает только для yolov8n-совместимых моделей, независимо от того, какая модель была реально обёрнута.xgboost_load_dataset— параметры по умолчанию (target="elapsed_time_sec",categorical_cols=["vcd", "nom_point"]) специфичны для датасета изexamples/xgboost/, а не универсальны.examples/в основном не проверяются автоматически: вrun.shрабочей (раскомментированной) остаётся только строка сexample_objects_simulate_ray.py; остальные примеры нужно перед использованием проверять вручную.
No comments to display
No comments to display