Size: a a a

2018 December 13

MK

Maxim Khrisanfov in catboost_ru
Всем привет! Нашел неприятную штуку в CatBoost. Он подвешивает основной поток программы при применении модели. Я разрабатывают графическое приложение на PyQt и у меня применение модели вынесено в отдельный поток, но CatBoost все равно фризит графический интерфейс на несколько секунд когда применяю модель, например time.sleep() не фризит, проблема проявляется только при вызове CatBoost predict и get_feature_importance, изменение параметра thread_count не помогает.
источник

ЕП

Евгений Петров in catboost_ru
Maxim Khrisanfov
Всем привет! Нашел неприятную штуку в CatBoost. Он подвешивает основной поток программы при применении модели. Я разрабатывают графическое приложение на PyQt и у меня применение модели вынесено в отдельный поток, но CatBoost все равно фризит графический интерфейс на несколько секунд когда применяю модель, например time.sleep() не фризит, проблема проявляется только при вызове CatBoost predict и get_feature_importance, изменение параметра thread_count не помогает.
можно посмотреть код, который запускает поток с CatBoost-ом и сам CatBoost?
источник

SK

Stanislav Kirillov in catboost_ru
Maxim Khrisanfov
Всем привет! Нашел неприятную штуку в CatBoost. Он подвешивает основной поток программы при применении модели. Я разрабатывают графическое приложение на PyQt и у меня применение модели вынесено в отдельный поток, но CatBoost все равно фризит графический интерфейс на несколько секунд когда применяю модель, например time.sleep() не фризит, проблема проявляется только при вызове CatBoost predict и get_feature_importance, изменение параметра thread_count не помогает.
я могу пальцем в небо ткнуть, и сказать, что ты не используешь FeaturesData
источник

SK

Stanislav Kirillov in catboost_ru
а значит все может тормозить на копировании данных под GIL
источник

SK

Stanislav Kirillov in catboost_ru
само применение вне GIL
источник

MK

Maxim Khrisanfov in catboost_ru
привет, сегодня проверю с FeaturesData, если повторится выложу код на гитхаб
источник

MK

Maxim Khrisanfov in catboost_ru
Сравнил с LightGBM  он такой проблемой не страдает, FeaturesData пока не пробовал, но не думаю что дело в копировании данных так как данные должны копироваться в отдельном потоке. Сейчас выложу код на гитхаб
источник

SK

Stanislav Kirillov in catboost_ru
Спасибо!
источник

MK

Maxim Khrisanfov in catboost_ru
Выложил код https://github.com/khrisanfov/pyqt_catboost
Там можно видео посмотреть
источник

PB

Pavel Baidaus in catboost_ru
Добрый день. Возник вопрос при обучении модели мультикласификатора на 4 класса CatBoost выдает accuracy 0,546 при запуске оценки отдельно на accuracy_score показывает 0,44. Это баг?
источник

PB

Pavel Baidaus in catboost_ru
Пример кода на запуск
источник

PB

Pavel Baidaus in catboost_ru
model = CatBoostClassifier(
   eval_metric='Accuracy',
   depth = 8,
   random_seed=17,
   loss_function='MultiClass',
   logging_level='Silent',
   l2_leaf_reg = 30,
   learning_rate = 0.01,
   iterations = 1000,
   random_strength= 0.1,
   bagging_temperature = 0.1,
   classes_count = 4,
   class_weights = [4.0, 1.0, 2.35, 1.0]
)
источник

PB

Pavel Baidaus in catboost_ru
model.fit(
     X_train, y_train,
     cat_features=categorical_features_indices,
     eval_set=(X_valid, y_valid),
     use_best_model=True,
     plot=True
)
источник

PB

Pavel Baidaus in catboost_ru
print("Правильность на контрольной выборке: {:.2f}".format(model.score(X_valid, y_valid)))
источник

VE

Vasily Ershov in catboost_ru
А если веса 1 для классов поставить?
источник

DL

Dmitri Lihhatsov in catboost_ru
Всем привет! Я попробовал тренировать Catboost на Google ML Engine. Модель довольно большая, на 10К деревьев, scaleTier: CUSTOM и masterType: large_model - аналог n1-highmem-8. Все прошло отлично, но уж очень долго - около 8 часов.

Решил попробовать на GPU. Запустил на "scaleTier": "CUSTOM", "masterType": "large_model_v100"  - тоже n1-highmem-8 только с V100 графическим ускорителем. Когда оставалось секунд 30 до конца тренировки, резко выросла потребляемая память и ML Engine прекратил процесс по Out of Memmory Error.

Может, кто-нибудь сталкивался с подобным?
источник

VE

Vasily Ershov in catboost_ru
Есть катфичи? Похоже модель сохраняет с большим расходом памяти
источник

DL

Dmitri Lihhatsov in catboost_ru
очень много катфич, да. Но при тренировке на CPU такой проблемы нет..
источник

PB

Pavel Baidaus in catboost_ru
Vasily Ershov
А если веса 1 для классов поставить?
Они не сбалансированые 2    2377
1    2366
3     952
0     534
Name: TARGET, dtype: int64
источник

PB

Pavel Baidaus in catboost_ru
но попробую щас
источник