Содержание статьи
Бесплатные нейросети для Андроида
Почему не java
Второй способ просто использовать модели на мобильных платформах появился в 2019 году, но пользоваться им мы стали лишь в начале 2020. В своей статье я описывал плюсы и минусы такого подхода. В целом – это очень неплохой способ для большинства не нагруженных моделей.
TFlite доступен. Но тут важно не перепутать. Есть два tflite под flutter. Один – набор готовых сетей за рамки которого сложно выйти. Достаточно кустарно, но запускается. Зато просто написан. Если вам подойдет какая-то из сетей, то норм. Подключить новую почти не реально.
Второй – какой-то полуофициальной, где-то на официальном форуме его советуют (и Flutter и TFlite – детища гугла). Тут полноценная поддержка TFlite и любой модели. Авторы так же выложили TFLite_Helper – библиотеку для простейшего препроцессинга изображения. Это значительно ускоряет, не заставляя тратить время на что-то простое..
Это ещё одно приложение для создания иллюстраций. Wombo Dream устроено чуть сложнее Шедеврума, но и результат здесь интереснее, особенно на платном тарифе. Без оплаты тарифа можно сгенерировать картинку, но только за один запрос получаем одно изображение вместо четырёх.
Когда-то, свое первое приложение на телефон с распознаванием автомобильных номеров я делал именно под Java. Был это год 2012 где-то. Потом, через год с мелочью мы сделали на эту тему небольшую работу и попробовали развить стартап. Как сейчас помню, что потратил неделю на него.
С тех пор я пару раз пробовал повторить успех и запустить TFLite или его аналоги через Android Studio. Но, оба раза ломался на второй вечер. Процесс лишь усложнялся с 2012 года. Бесконечные конфигурационные файлы, указать все в десяти местах. Указать кучу параметры для сборки, указать версию андроида, и.т.д., и.т.п.
Аааа, паника.
Статья будет крайне субъективна. Понятно, что разрабатывая всю жизнь на Java под Android Studio – вам проще будет вызвать нейронку там. Но, если вам, как и мне, не очень знакома мобильная разработка, это может быть интересно. Среднее время запустить все что я тут привожу – один вечер. А это значит – возможность экспериментировать, создать быстрый прототип или самому проверить идею.
Ещё приложения умеют рисовать: Шедеврум, Wombo Dream. Nova AI вообще умеет многое: подскажет как пройти по нужному маршруту, подберёт рецепт блюда, составит список книг или фильмов по интересам. А Musixmatch подходит для автоматического отображения текстов или переводов к трекам.
Я уже писал большую статью о том как запускать нейронные сети на телефонах. Точнее, статья была про разные аппаратные платформы и библиотеки выполнения нейронных сетей. Но, она абсолютно не рассматривала вопрос запуска нейронных сетей. Ведь библиотеку можно позвать из разных сред, можно из Java разрабатывая на Android studio/Eclipse/Idea. Можно на с++ модулях. Можно из JS, сделав веб-страничку (кстати, на эту тему я тоже делал ролик, а на Хабре была не моя неплохая статья на эту тему). А можно и другими способами.
В этой статье я чуть подробнее расскажу те способы которые мне нравятся и понятны.
С русским языком Nova AI работает лучше, чем ChatGPT — тот часто выдаёт ошибку. А Nova AI справляется с заданиями на русском языке и даже проговаривает их. Правда, в день есть только 3 запроса. Дальше придётся платить — от 7,99 $ в неделю. У ChatGPT нет платных функций, но он ограничен — хорошо работает только на английском языке.
Moments
В этом приложении можно улучшить качество фото: убрать размытие или шумы. Здесь удобно обрабатывать старые снимки. А ещё тут можно раскрасить чёрно-белое фото, есть функция «повышения привлекательности лица». В Remini можно создать аватар — ИИ нарисует портрет по фото.
Здесь задание нужно писать на английском языке — лучше всего максимально подробно описать, что должно быть на картинке. Также можно описать настройки: какое должно быть освещение, качество — 4К или 8К. Ещё здесь есть стили: мультики, комиксы, импрессионизм, флора.
Но, году в 2018-2019 произошло первое озарение. По одной из задаче, которой я занимался, надо было запустить программу на Unity. Поставил Unity на винду. Все работает минут через 20 установки. И вдруг, вижу сверху кнопочку “запустить на Android”. Воткнул телефон, нажал, оно заработало.
Ха-ха, подумал я. Как это возможно?
При этом, я знал что под Unity есть TensorFlow. Сделать проект с нуля, с распознаванием данных с камеры на TensorFlow у меня заняло где-то полтора часа. Я был в экстазе. Но, надо понимать, что:
Да, есть полностью бесплатные нейросети, за функции которых вообще не нужно платить. Например, Шедеврум для рисования или Musixmatch для поиска текстов к трекам. Есть условно бесплатные приложения — в них за часть функций платить не нужно, но часть возможностей доступна только на платном тарифе. Например, в Nova Ai можно сделать 3 задания в день. Если нужно больше — только при оплате тарифа.
Приложение работает на основе ChatGPT, который умеет многое: и поговорить, и ответить на вопросы, и написать текст. Приложение не отстаёт от нейросети. Тут можно писать любые запросы и задания даже на русском языке. Nova AI поймёт и напишет ответ, а может даже проговорить его.
Приложение — находка для блогеров и создателей контента. Искусственный интеллект обрабатывает фото, делая их более качественными и яркими. Здесь можно удалить фон, отфотошопить фотографию, сделать коллаж или добавить рамку. В общем все нужные функции в одном приложении.
Socratic — это приложение, которое помогает в обучении. Здесь пишем вопрос или проговариваем его голосом, а приложение находит обучающие материалы по этой теме или примеры решения задач. Ещё можно сфотографировать вопрос или пример. ИИ распознает его и покажет материалы по этой теме.
К сожалению, первые две проблемы делают возможным использовать Unity лишь на простые задачи. Делали.
Готовя эту заметку я нашел достаточно неплохую реализацию полноценного TFlite под Unity. Надо будет попробовать насколько это работает. Обещают что поддерживается аппаратная часть нормально. И под Android и под IOS.