Комментарии 5
delete
именно указателям на вектора. Надо убедиться, что этого нет, и тогда наследование не будет беспокоить. Для кода, который пишут вновь, это возможно сделать. А профит от наследования от вектора хорош — 1) добавленные плюшки в коде очень компактны (не надо по-новой ваять весь интерфейс вектора в своём классе), 2) все, кто принимает вектора или их итераторы, продолжат работать с инстансами и вашего класса. В своём коде сам делаю как Яндекс и очень доволен.Это все, конечно, хорошо, catboost действительно классная библиотека — но когда вы сделаете standalone evaluator для C++ с поддержкой мультикласса и категориальных фичей?
На реквест подобной функциональности был получен ответ "мы сделали экспорт в json, радуйтесь хоть этому".
В итоге пришлось реверс-инженерить ваш формат (который, кстати, был неверно описан в вашем же туториале — layout листьев на деле не такой как описано) и писать инференс самому. В конце концов пришли к выводу что легче просто отказаться от катбуста, несмотря на все его достоинства.
p.s. — про билд систему которая скачивает какой-то бинарь с удаленного сервера и запускает его я пожалуй даже напоминать не буду.
Привет! А что понимается по standalone применением? Есть makefile сборка статической и динамической библиотеки с C API, этот интерфейс поддерживает катфичи и мультикласс, есть c#, java & rust обертки над этой библиотекой, и наконец для экзотических потребностей есть экспорт моделей в python код с поддержкой катфичей.
Введение в разработку CatBoost. Доклад Яндекса