- PVSM.RU - https://www.pvsm.ru -
Недавно на Хабре проскакивал пост [1] vfdev-5 [2] о DIGITS [3]. Давайте поподробнее разберёмся что это такое и с чём его едят. Если в двух словах. Это среда, которая позволяет решить 30-50% задачек машинного обучения на коленке в течении 5 минут. Без умения программировать. Ну, при наличии базы, конечно. И более-менее адекватной карточки от NVIDIA.
Официальная страница [3]. Качается потом всё отсюда [4]. Там же инструкции.
Официально поддерживается Ubuntu 14 и Ubuntu 16. Есть deb-пакет для 14ой убунты и докер для неё же. Под 16ую — инструкция [5] по сборке. Собирать нужно сначала caffe, потом DIGITS. Развлекуха где-то на пару часов.
DIGITS — это визуальная Front-end обёртка для известных фреймворков (caffe и Torch 7). Позволяет из коробки обучать/дообучать известные/свои сетки. Есть большое число подготовленных кейсов.
По форм-фактору, это веб-сервис который запускается в терминале и доступен потом по адресу «localhost [6]:5000/» на локальной машине. выглядит вот так:
Почему-то навевает Юпитером. Плюс, оно похоже на TensorBoard [7]. К сожалению, я не работал с ним много чтобы сравнить.
На главной есть всего две большие кнопочки. Они то нам и нужны. Сначала нужно ткнуть в «New Dataset»:
По умолчанию DIGITS умеет работать с датасетами заточенными под:
Рассмотрим классификацию, как самый простой из вариантов.
На этапе подготовки датасета digits пережимает базу в удобный для себя формат, чтобы быстро работать с ним, не напрягая хард миллионами запросов. В принципе, всё ясно:
Результат создания базы будет динамично отображаться [10]. А так же будет выведена итоговая статистика по базе:
Создание базы завершено! Можно перейти к обучению. Переходим в главное меню и вместо «New Dataset» тыкаем «New Model». Опять выбираем Classification. Здесь параметров чуть больше (1,2). Обязательно нужно выбрать:
Есть куча более тонких настроек:
Можно посмотреть как выглядит текущая сеточка:
[11]
Ваш компьютер виснет в мёртвую. Зато вы видите красивые онлайн графички идущего обучения, оценку времени, текущий результат, и.т.д.:
После окончания обучения появляется менюшка, которая позволяет сохранить итоговую модельку, распознать одно/несколько изображений. Построить статистику.
Можно отправлять в продакшн;)
В DIGITS ещё неплохая сетка для детектирования объектов (описания: 1 [12], 2 [13]). Завтра я выложу отдельную коротенькую статью на её счёт. Там, к сожалению, не всё так хорошо как хочется.
Имеется возможность настроить корректную пиксельную сегментацию. Но у меня сейчас есть настроенные решения — это не очень интересно. А так, целый пример [9] по работе с DICOM изображениями:
решение позиционируется как пригодное для задач сегментации по медицинским данным.
Уровень знаний необходимый для работы с нейронными сетями потихоньку падает ниже плинтуса. Наверняка есть другие аналоги, или появятся в ближайшее время. Тот же TensorBoard [7].
Это не значит, что получаемое решение — качественное. Но оно может весьма неплохо работать в некоторых ситуациях. Конечно, хороший тьюнинг, подборка метода, ручная настройка сети — могут значительно улучшить производительность. Но чтобы показать прототип может хватить и DIGITS.
По мне — получился весьма годная обёрточка. Но, что-то его nvidia особо не пиарит и мало поддерживает.
Автор: ZlodeiBaal
Источник [14]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/obrabotka-izobrazhenij/200310
Ссылки в тексте:
[1] пост: https://habrahabr.ru/post/310332/
[2] vfdev-5: https://habrahabr.ru/users/vfdev-5/
[3] DIGITS: https://developer.nvidia.com/digits
[4] отсюда: https://github.com/NVIDIA/DIGITS
[5] инструкция: https://github.com/NVIDIA/DIGITS/blob/master/docs/BuildDigits.md
[6] localhost: http://localhost
[7] TensorBoard: https://www.tensorflow.org/versions/r0.11/how_tos/summaries_and_tensorboard/index.html
[8] сегментация: https://habrahabr.ru/company/recognitor/blog/277781/
[9] тьюториал: https://github.com/NVIDIA/DIGITS/tree/master/examples/medical-imaging
[10] отображаться: https://habrastorage.org/files/bfe/f01/21b/bfef0121b48a49feb2c6a4b1d765c509.png
[11] Image: https://habrastorage.org/files/c6d/771/286/c6d7712867d54189918766ff9fcb73f3.png
[12] 1: https://devblogs.nvidia.com/parallelforall/detectnet-deep-neural-network-object-detection-digits/
[13] 2: https://github.com/NVIDIA/DIGITS/blob/master/examples/object-detection/README.md
[14] Источник: https://habrahabr.ru/post/311832/?utm_source=habrahabr&utm_medium=rss&utm_campaign=best
Нажмите здесь для печати.