SMaLL является плагином, расширяющим набор команд языка OTL. Этот плагин добавляет команды для работы с алгоритмами машинного обучения.
SMaLL состоит из двух частей:
-
SMaLL Core – основа для работы с моделями.
-
SMaLL Extensions – реализации алгоритмов/моделей, доступ к которыми предоставляет SMaLL Core.
Установка SMaLL Core
SMaLL Core является обычным плагином языка OTL. Следовательно, его установка выполняется по правилам, применяемым к плагинам, а именно:
-
Cоздайте каталог с именем plugins в распределённой файловой системе, если он отсутствует.
-
Создайте каталог с именем, аналогичным значению свойства \<pluginName> файла plugin.conf.
-
Поместите jar-файл в созданный каталог somepath/plugins/%pluginName%.
-
Если требуется переопределить или добавить свойства, добавьте их в файл plugin.conf, размещённый в каталоге
somepath/plugins/%pluginName%. -
Если вы используете внешние библиотеки, разместите их в каталоге
somepath/plugins/%pluginName%/libs. -
Добавьте путь к каталогу с плагином в файл application.conf, если он не существует.
plugins{
fs = "file:/"
path = "somepath/plugins"
} -
Перезапустите диспетчер Dispatcher.
Установка SMaLL Extension
Каждое расширение SMaLL Core является внешней по отношению к SMaLL Core библиотекой/зависимостью и, следовательно, должно быть размещено в подкаталоге libs каталога плагина SMaLL Core (см. п. 5 раздела “Установка SMaLL Core”).
Чтобы расширения/модели были доступны SMaLL Core, они должны быть описаны в файле plugin.conf (см. п. 4 раздела “Установка SMaLL Core”). Для этого в секции с настройками соответствующей команды (apply, fit или score) следует указать краткое имя алгоритма в качестве ключа. Это имя и будет использовано для обращения к алгоритму. В качестве значения следует указать полное имя класса расширения, реализующего функционал. Альтернативно в качестве значения можно указать имя конфигурационного файла расширения и полное имя класса расширения, используя разделитель @.
Пример.
Расширение regression, реализующее команду apply, размещено в файле linreg.jar c полным именем класса ot.small.ext.LinearRegression.
Наша модель имеет собственный конфигурационный файл lr.conf.
Для инсталляции расширения regression мы должны:
-
Поместить файл linreg.jar в каталог libs, согласно п. 5 раздела “Установка SMaLL Core”.
-
Добавить конфигурацию в файл plugin.conf (п. 4 раздела “Установка SMaLL Core”) следующего содержания:
configBasePath = “/extensions/conf”
apply {
regression=”lr.conf@ot.small.ext.LinearRegression”
} -
Разместить конфигурационный файл lr.conf модели/алгоритма/ расширения в каталоге /extensions/conf.
-
Перезапустить диспетчер Dispatcher.
Путь к конфигурационному файлу расширения/модели/алгоритма рассчитывается относительно пути, указанного в параметре configBasePath. Таким образом, конфигурационный файл расширения, рассмотренный в примере выше, может быть подключен как:
configBasePath = “/extensions”
apply {
regression=”conf/lr.conf@ot.small.ext.LinearRegression”
}