Kotlin Multiplateform с TensorflowLite - PullRequest
       11

Kotlin Multiplateform с TensorflowLite

0 голосов
/ 16 февраля 2020

Есть ли способ разработать проект, используя Kotlin Многоплатформенную и тензорную модель lite lite в разделяемой логике c. Цель состоит в том, чтобы использовать ту же модель тензорного потока с тем же кодом kotlin для извлечения данных из нее с android и iOS обоими. Пользовательский интерфейс желательно разрабатывать отдельно с указанием кода платформы c.

Я исследовал множество проектов kotlin MPP с общими логами c из kotlin, которые будут использоваться в android и iOS, но у меня есть сомнения относительно модели tenserflow lite. Будет ли он работать нормально в общих логах c из kotlin и давать одинаковые данные android и iOS обоим?

1 Ответ

2 голосов
/ 17 февраля 2020

Оба iOS и Android имеют библиотеки для использования TensorFlow, но эти библиотеки являются разными библиотеками, они написаны для каждой платформы независимо (в отличие от TensorFlow C API, который может быть встроенный для Android и iOS). Таким образом, вы не сможете использовать официально поддерживаемый API TensorFlow в общем kotlin коде.

К счастью, вы можете отделить свой общий лог c от зависимых от платформы вызовов API TensorFlow, введя общий interface TensorFlowNativeApi. Просто добавьте некоторые необходимые методы API TensorFlow в этот интерфейс и вызовите их в общем коде. Затем в приложениях для каждой платформы создайте класс, который реализует этот интерфейс (используя TensorFlow lib для конкретной платформы), и передайте эту реализацию вашему общему коду, использующему TensorFlow.

Также стоит отметить, что та же модель TensorFlow Lite может быть используется на обеих платформах, его просто необходимо преобразовать из модели TensorFlow с помощью converter .

...