Olej писал(а):
Но вот если работа распознавателя - превосходная, то установка всех требуемых для него огромных библиотек и пакетов мало того, что а). очень длинная, так ещё и б). очень хлопотная. Особенно если это делать на одноплатные ARM SBC, типа Dragon Board 410c ... или Rapsbery Pi или Orange Pi, на которые я не премину установить, как только на то будет свободное время.
1. Инсталляция таких объёмных вещей как Dlib, Pillow и др. происходит компиляцией из исходных C++ кодов, и занимает на Dragon Board 410c порядка
4-5 часов непрерывного процессорного времени (если по ходу возникла ошибка, а у меня они возникали десяток раз - исправляем и всё начинаем сначала
).
2. По итогу, раскручена система тиражирования уже подготовленных 1 раз
бинарных пакетов на другие экземпляры бордов, построенная на относительно новой для Python пакетной системе wheel (читать здесь:
Python на колёсах).
3. Из-за ограниченности ресурсов (RAM 1Gb), даже такая прямая инсталляция (в 4 часа) проходит успешно
только при обстоятельных плясках с бубном вокруг борда: переключение в 3-й уровень (консольный) исполнения исполнения Linux, разрешение свопинга на SD-карту, изменение параметров свопинга и др. - при умалчиваемых параметрах системы эта компиляция
не закончится никогда: поток ядра ответственный за обмен виртуальными страницами отбирает 95% процессорного времени, а компилятору остаётся только 5%, видно по top (при таких условиях компиляция должна бы завершиться за 80 часов
).
По итогам этих плясок с бубном я написал для заказчика руководство по установке ... поскольку это делалось инициативно и никаких ограничений не накладывалось, я это текст размещаю здесь.