Size: a a a

2020 July 14

SK

Stanislav Kirillov in catboost_ru
вам же андроид нужен?
источник

VP

Vladimir Podshivalov in catboost_ru
да, андроид arm64-v8a
источник

SK

Stanislav Kirillov in catboost_ru
вот, собирается)
источник

SK

Stanislav Kirillov in catboost_ru
единственное, еще нужно добавить -r
источник

SK

Stanislav Kirillov in catboost_ru
и потом стрипнуть
источник

VP

Vladimir Podshivalov in catboost_ru
оно же будет 64битным?)
источник

SK

Stanislav Kirillov in catboost_ru
да, конечно
источник

SK

Stanislav Kirillov in catboost_ru
я бы еще добавил на самом деле флаг --build=minsizerel
источник

SK

Stanislav Kirillov in catboost_ru
так еще чуть меньше становится бинарь
источник

VP

Vladimir Podshivalov in catboost_ru
Окей, попробуем!!
источник

VP

Vladimir Podshivalov in catboost_ru
компилятор clang?
источник

VP

Vladimir Podshivalov in catboost_ru
Stanislav Kirillov
да, конечно
Shared библиотека собралась без проблем, спасибо! 🙂

/opt/catboost# ./ya make catboost/libs/model_interface/ --target-platform=default-android-armv8a -r --build=minsizerel
Ok

libcatboostmodel.so весит 44Мб, это нормально? Какой командой/флагом его можно стрипнуть?

А static библиотека не скомпилировалась с ошибкой "-r and -pie may not be used together" (детально в аттаче).
Что с этим можно сделать?)
источник

SK

Stanislav Kirillov in catboost_ru
Vladimir Podshivalov
Shared библиотека собралась без проблем, спасибо! 🙂

/opt/catboost# ./ya make catboost/libs/model_interface/ --target-platform=default-android-armv8a -r --build=minsizerel
Ok

libcatboostmodel.so весит 44Мб, это нормально? Какой командой/флагом его можно стрипнуть?

А static библиотека не скомпилировалась с ошибкой "-r and -pie may not be used together" (детально в аттаче).
Что с этим можно сделать?)
по поводу статической сборки - не знал, попрошу посмотреть команду девтулз. по поводу размера можно попросить саму сборочную систему стрипнуть дебаг символы:
источник

SK

Stanislav Kirillov in catboost_ru
./ya make -r catboost/libs/model_interface/  --target-platform=default-android-x86_64 -o . --build=minsizerel -DSTRIP=yes
источник

SK

Stanislav Kirillov in catboost_ru
так получается 5.5мб
источник

SK

Stanislav Kirillov in catboost_ru
там можно еще ужать до 2мб
источник

SK

Stanislav Kirillov in catboost_ru
если пописать код
источник

SK

Stanislav Kirillov in catboost_ru
точнее, если отрезать сейчас ненужные для  C API форматы модели
источник

K

K-S in catboost_ru
Наивный вопрос, но в катбусте используются же гессианы при оптимизации как и в xgb/lgb?
источник

VP

Vladimir Podshivalov in catboost_ru
Stanislav Kirillov
по поводу статической сборки - не знал, попрошу посмотреть команду девтулз. по поводу размера можно попросить саму сборочную систему стрипнуть дебаг символы:
Получилось стрипнуть, спасибо! Так намного более reasonable размер :)

Уточняю про удаление ненужных форматов модели - например, если необходим только Calc метод для варианта "Evaluate model on single object float features vector and vector of categorical features strings", то остальные методы в wrapped_calcer.h удалить? В c_api.cpp / c_api.h тоже надо удалить функции, соответствующие ненужным методам? Или я неверно понял?

И ещё - может, добавить это ("cross-compilation to Android/ARM") в документацию? Это буквально пара строк получается, флаги объяснить. Или пока на реальном аппе не потестится, лучше не добавлять?
источник