Недавно я читал на Reddit сообщение «Как разработать приложение для Android с использованием глубокого обучения». Честно говоря, пост действительно не имел для меня смысла, так как он слишком расплывчатый. Но что было интересно увидеть, так это то, что пост был в тренде, и многие люди хотели понять, как можно разработать классное приложение для Android с нейронными сетями, и это стало моей мотивацией написать этот пост. Итак, в этом посте я пошагово расскажу, как запустить нейронную сеть на Android.

ШАГ ПЕРВЫЙ: - РАЗВИТИЕ НЕЙРОННОЙ СЕТИ

Под разработкой нейронной сети я подразумеваю разработку обученной модели нейронной сети. Честно говоря, я действительно не понимаю, как мы можем разработать обученную нейронную сеть на самом Android (многие люди задают мне этот вопрос), поскольку разработка глубокой сети требует больших вычислительных мощностей, а мы действительно этого не делаем. у меня нет таких ресурсов на мобильных платформах. Теперь, чтобы построить сеть, мы можем сделать две вещи: во-первых, построить ее локально, то есть на ваших машинах, а во-вторых, мы можем построить ее в облаке. Я бы порекомендовал использовать облако, поскольку в настоящее время все ресурсы, необходимые для выполнения сложных вычислительных задач, доступны в облаке и легко доступны. В моем случае я использую IBM Cloud и сервис, известный как Data Science Experience (https://datascience.ibm.com/), который представляет собой облачную среду IDE, разработанную IBM для специалистов по данным, инженеров машинного обучения и DL. После этого нам нужно выбрать библиотеку или библиотеку глубокого обучения. У нас есть много вариантов, таких как Tensorflow, Keras, Caffe 2, Torch и многое другое для развития нашей сети, но я буду использовать Keras. Думаю, сейчас все будут думать: почему он выбрал Keras, почему не Tensorflow или Caffe 2, эти две библиотеки имеют оптимизированные алгоритмы. Да, эти две библиотеки имеют наиболее оптимизированные алгоритмы, но имейте в виду, что эти две библиотеки являются довольно тяжелыми с точки зрения требований к ресурсам, и, следовательно, построение модели с их использованием также не будет подходить для использования на мобильной платформе.

Итак, приступим к написанию кода для разработки нейронной сети с использованием Keras. (Примечание: - Перед написанием кода правильно очистите набор обучающих данных и определите список функций, поскольку они играют очень важную роль в развитии нейронной сети). Я собираюсь использовать набор данных, содержащий информацию о ценах на подержанные автомобили в ОАЭ, и буду прогнозировать цену в следующем году, то есть в 2018 году. Я очистил свой набор данных и выбрал 7 функций, которые помогут мне решить целевые значения. Архитектура моей NN довольно проста, у меня есть входной слой, выходной слой и один скрытый слой с 7 узлами, и наша модель будет последовательной моделью, то есть линейным стеком слоев.

ШАГ ВТОРОЙ: - СОХРАНЕНИЕ ФАЙЛА AS .pb

Теперь вам просто нужно вызвать функцию, указав правильный параметр, и она сохранит модель в формате .pb.

ШАГ ТРЕТИЙ: -ИМПОРТ ОБУЧЕННОЙ МОДЕЛИ В ANDROID

Есть единственный способ импортировать обученную модель, и это лучшее, что мы можем сделать - скопировать и вставить ее в папку с ресурсами в структуре папок нашего приложения для Android.

ШАГ ЧЕТВЕРТЫЙ: НАСЛАЖДАЙТЕСЬ :)