LightGBM на RPi 4B Ubuntu не удается загрузить модель

#ubuntu #julia #raspberry-pi4 #lightgbm

#ubuntu #джулия #raspberry-pi4 #lightgbm

Вопрос:

Я использую Julia 1.5 на Raspberry pi 4b 8GB под управлением 64-разрядной версии Ubuntu 20.04. Я создал модель LightGBM на своем ноутбуке с Windows и сохранил модель в файл. Это нормально загружается на моем ноутбуке с Windows и выполняется правильно. Но когда я пытаюсь загрузить его в Raspberry PI, я получаю сообщение об ошибке ниже. Я проверил и обнаружил, что файл /home/pi/.julia/packages/LightGBM/My6MK/src/lib_lightgbm.so существует. Я попытался удалить пакет LightGBM и добавить его обратно. Но проблема все еще сохраняется. Пожалуйста, дайте мне знать, если вам нужна более подробная информация.

 loadmodel(estimator, "/home/pi/softwares/julia/lightgbmModel.jld2")
ERROR: could not load library "/home/pi/.julia/packages/LightGBM/My6MK/src/lib_lightgbm.so"
/home/pi/.julia/packages/LightGBM/My6MK/src/lib_lightgbm.so: cannot open shared object file: No such file or directory
Stacktrace:
 [1] LGBM_BoosterCreateFromModelfile(::String) at /home/pi/.julia/packages/LightGBM/My6MK/src/wrapper.jl:101
 [2] loadmodel(::LGBMClassification, ::String) at /home/pi/.julia/packages/LightGBM/My6MK/src/utils.jl:72
 [3] top-level scope at REPL[16]:1
 

Комментарии:

1. Эй, убедитесь, что используемый вами путь является абсолютным.

2. Я бы также проверил правильность пути к файлу за пределами Julia с помощью терминала

3. Да, путь правильный и абсолютный. Я использовал Julia 1.4.2 для построения модели на своем ноутбуке. Итак, я также загрузил эту версию на Raspberry pi, но даже в этом я получаю ту же ошибку.

Ответ №1:

У меня была аналогичная проблема с созданием .Net project на macOS, а затем запуском на Raspberry PI 4. Похоже, библиотека ‘lib_lightgbm.so «распространяемый с помощью NuGet package manager работает с другими дистрибутивами Linux, но это неподходящая библиотека для Raspberry.

Я скомпилировал ‘lib_lightgbm.so ‘ на Малине с использованием

 git clone --recursive https://github.com/microsoft/LightGBM ; cd LightGBM
mkdir build ; cd build
cmake ..
make -j4
 

а затем вручную скопировал скомпилированную библиотеку ‘lib_lightgbm.so ‘в каталог вашего проекта (замените существующий). Это сработало для меня.

Комментарии:

1. Большое вам спасибо. Это определенно сработало. Хотя мне пришлось предпринять некоторые дополнительные шаги. Для других пользователей, которые сталкиваются с этим, пожалуйста, смотрите Ниже, если это поможет в дополнение к вышесказанному.

2. Прежде всего, мне пришлось использовать sudo для всех вышеперечисленных команд в rpi. После выполнения всех вышеуказанных шагов Джулия выдала ошибку из-за несоответствия версии libstdc .so.6. Для этого я выполнил «sudo apt-get upgrade; sudo apt-get install libstdc 6;» затем я скопировал файл обновления libstdc .so.6 из папки RPI OS в папку julia внутри библиотеки julia «cp /usr/lib/aarch64-linux-gnu/libstdc .so.6 /home/pi/ julia/ lib/ julia/»