loading

Пример анализа технологии глубокого обучения на основе Spark и Bigdl

В этом документе в основном делится практический опыт Intel и JD в создании крупномасштабной структуры извлечения функций изображения на основе технологии глубокого обучения spark и bigdl. Извлечение функций backgroundImage широко используется в аналогичном поиске изображений, дублировании и т. Д. Перед использованием платформы bigdl (которая будет упомянута позже) мы попытались разработать и развернуть приложения для извлечения функций на мульти-машине, карте multi GPU и кластере GPU соответственно. Однако приведенные выше рамки имеют очевидные недостатки:

Пример анализа технологии глубокого обучения на основе Spark и Bigdl 1

В кластере GPU стратегия распределения ресурсов, основанная на карте GPU, очень сложна, и распределение ресурсов подвержено проблемам, таким как недостаточность оставшейся видеопамяти, что приводит к сбою oom и приложения. В случае одиночной машины, по сравнению с режимом кластера, разработчики должны вручную делать фрагментацию данных, Нагрузка и отказоустойчивость. Применение режима GPU, на примере Caffe, имеет множество зависимостей, включая CUDA, что увеличивает сложность развертывания и обслуживания. Например, когда есть проблемы с разными версиями операционной системы и версиями GCC, их необходимо перекомпилировать и упаковать.

Вышеуказанные проблемы заставляют форвардную программу, основанную на GPU, сталкиваться со многими техническими прикладными проблемами в архитектуре.

Посмотрим на саму сцену. Поскольку фон многих изображений сложен, а доля предметных объектов обычно мала, чтобы уменьшить интерференцию фона на точность извлечения функции, объект должен быть отделен от изображения. Естественно, рамки извлечения особенностей изображения делятся на два этапа. Сначала цель обнаруживается алгоритмом обнаружения цели, а затем целевая функция извлекается алгоритмом извлечения функции. Здесь мы используем SSD [1] (однорядный многодарный детектор) для обнаружения целей и сеть Deepbit [2] для извлечения функций.

Jingdong имеет большое количество (более сотен миллионов) изображений продуктов в основной распределенной базе данных с открытым исходным кодом. Следовательно, то, как эффективно извлекать и обрабатывать данные в крупномасштабной распределенной среде, является ключевой проблемой конвейера извлечения функций изображения. Существующие решения на основе GPU сталкиваются с другими проблемами при решении требований вышеуказанных сценариев: загрузка данных занимает много времени, и схема, основанная на GPU, не может оптимизировать ее. Для данных изображения в распределенной базе данных с открытым исходным кодом процесс обработки данных схемы GPU очень сложен, И не существует зрелой программной базы для управления ресурсами, распределенной обработки данных и управления отказоустойчивостью.

Пример анализа технологии глубокого обучения на основе Spark и Bigdl 2

Из-за ограничений программного и аппаратного обеспечения GPU очень сложно расширить схему GPU для работы с крупномасштабными изображениями. Схема интеграции Bigdl В производственной среде использование существующего программного и аппаратного обеспечения значительно повысит эффективность производства (например, снижение R & D время новых продуктов) и снизить стоимость. В этом случае данные хранятся в основной распределенной базе данных с открытым исходным кодом в кластере больших данных. Если приложение для глубокого обучения может использовать существующий кластер больших данных (например, Hadoop или spark cluster) для вычислений, оно может легко решить вышеуказанные проблемы.

Проект Intel bigdl с открытым исходным кодом [3] представляет собой распределенную структуру глубокого обучения на spark, которая обеспечивает всестороннюю поддержку алгоритмов глубокого обучения. Bigdl может быть легко расширен на сотни или тысячи узлов с распределенной масштабируемостью искровой платформы. В то же время bigdl использует библиотеку математических вычислений Intel MKL и технологию параллельных вычислений для достижения высокой производительности на сервере Intel Xeon (вычислительная мощность может быть сопоставима с производительностью основного графического процессора). В нашем сценарии bigdl настраивается для поддержки различных моделей (обнаружения и классификации); Модель трансплантирована из применимой только к определенной среде в среду больших данных bigdl, поддерживающую общую модель (кафе, факел, тензорпоток); Весь процесс конвейера был оптимизирован и ускорен. Трубопровод для извлечения функций в среде искра через bigdl показан на рисунке 1:

Используйте spark, чтобы прочитать сотни миллионов оригинальных изображений из распределенной базы данных с открытым исходным кодом и создать искру RDDUse для предварительной обработки изображений, включая изменение размера, вычитание среднего значения и составление Данные в batchИспользуя bigdl для загрузки модели SSD, крупномасштабное и распределенное обнаружение цели осуществляется на картинке через искру, и получается серия координат обнаружения и соответствующих оценок

Результат обнаружения с наивысшим показателем сохраняется в качестве объекта-мишени, и целевое изображение получается путем вырезания исходного изображения в соответствии с координаторами обнаружения. Предварительный процесс RDD цели Изображение, включая изменение размера, для формирования batchBigdl используется для загрузки модели Deepbit, а искра используется для извлечения распределенных функций обнаруженного целевого изображения для получения соответствующего Особенности

Результаты обнаружения (извлеченная целевая функция RDD) хранятся в HDFS. Весь конвейер анализа данных, включая чтение данных, разделение данных, предварительную обработку, прогнозирование и хранение результатов, может быть легко реализован в искре через bigdl. На существующем кластере больших данных (Hadoop / spark) пользователи могут запускать приложения глубокого обучения с использованием bigdl без изменения какой-либо конфигурации кластера. Более того, bigdl можно легко распространить на большое количество узлов и задач, используя высокую масштабируемость платформы spark, поэтому он значительно ускоряет процесс анализа данных. Помимо поддержки распределенного глубокого обучения, bigdl также предоставляет множество простых в использовании инструментов, таких как библиотека предварительной обработки изображений, инструменты загрузки моделей (Включая модели загрузки сторонней структуры глубокого обучения), что более удобно для пользователей, чтобы построить весь конвейер.

Image preprocessingBigdl предоставляет библиотеку предварительной обработки изображений [4] на основе OpenCV [5], которая поддерживает различные общие функции преобразования изображений и улучшения изображений. Пользователи могут легко использовать эти основные функции для создания конвейера предварительной обработки изображений. Кроме того, пользователи также могут вызывать функцию opencv, предоставленную библиотекой, для выполнения пользовательского преобразования изображений. Пловер предварительной обработки этого образца преобразует исходный RDD в пакетный RDD посредством серии преобразований. Среди них bytetomat преобразует байтовую картинку в формат хранения матов OpenCV, изменение размера регулирует размер картинки до 300x300, а матофлоаты экономят пиксели в коврике в формат поплавкового массива и вычитают среднее значение соответствующего канала. Наконец, roiimagetobatch формирует данные в пакет, который используется в качестве входных данных модели для прогнозирования или обучения.

Модель загрузки Пользователи могут легко использовать bigdl для загрузки предварительно обученной модели и использовать ее непосредственно в Spark Program. Учитывая файл модели bigdl, вы можете вызвать module.load, чтобы получить модель. Кроме того, bigdl также поддерживает импорт сторонних моделей рамок глубокого обучения, таких как Caffe, torflow и tensorflow.

Пользователи могут легко загрузить обученной модели для прогнозирования данных, извлечения функций, тонкой настройки модели и так далее. На примере Caffe модель Caffe состоит из двух файлов, файла определения prototext модели и файла параметров модели. Как показано ниже, пользователи могут легко загрузить предварительно обученные модели Caffe в программы spark и bigdl. performanceWe сравниваем производительность кластерного решения GPU на основе Caffe и кластерного решения Xeon на основе bigdl. Тесты проводятся во внутренней кластерной среде JD.

Тестовый стандарт для завершения обработки изображений и конвейера анализа, в том числе: Чтение изображений из распределенной базы данных с открытым исходным кодом (загрузка изображений из источника изображений в память)

Ввод в целевую модель обнаружения и модель извлечения функций для экстракции функций. Сохраните результаты (пути к изображениям и функции) в файловую систему. Примечание: фактор загрузки стал важным фактором, влияющим на общую сквозную пропускную способность. В этом случае эта часть времени обработки составляет около половины общего времени обработки (функции обнаружения загрузки). Сервер GPU не может использовать GPU для ускорения обработки загрузки.

Тестирование графического процессора окружающей среды: NVIDIA Tesla K40, 20 карт, выполненных одновременно CPU: Intel (R) Xeon (R) CPU e5-2650 V4 @ 2,20 ГГц, в общей сложности 1200 логических ядер (каждый сервер имеет 24 физических ядра, обеспечивает гиперпоточность и настроен как 50 логических ядер пряжи)

Результат теста Рисунок 2 показывает, что пропускная способность Caffe 20 К40 одновременной обработки изображений составляет около 540 изображений/с, в то время как пропускная способность bigdl на кластере пряжи (Xeon) с 1200 логическими ядрами составляет около 2070 изображений/с. Пропускная способность bigdl на кластере Xeon примерно в 3,83 раза выше, чем у кластера GPU, что значительно сокращает время обработки крупномасштабных изображений. Результаты теста показывают, что bigdl обеспечивает лучшую поддержку в крупномасштабных приложениях извлечения функций изображения. Высокая масштабируемость, высокая производительность и простота использования Bigdl помогают JD легче справляться с массовым и взрывным ростом масштаба изображения. Основываясь на таких результатах испытаний, JD модернизирует реализацию извлечения функции изображения Caffe на основе кластера графического процессора до схемы bigdl на основе кластера Xeon и развертывает ее в среде производства искровых кластеров.

На рисунке 2 сравнивается пропускная способность K40 и Xeon в PipelineBigdl для извлечения функций изображения. Высокая масштабируемость, высокая производительность и простота использования помогают JD более легко использовать технологию глубокого обучения для обработки массивных изображений. JD продолжит применять bigdl к более широкому спектру приложений для углубленного обучения, таких как обучение распределенным моделам. quote

[1]. Лю, Вэй и др. SSD: одиночный детектор MultIbox Shot. Европейская конференция по компьютерному зрению. Springer, Cham, 2016.[2]. Лин, Кевин и др. Изучение компактных двоичных дескрипторов с неконтролируемыми глубокими нейронными сетями. Материалы конференции IEEE по компьютерному зрению и распознаванию образов, 2016 г.[3]. Https://github.com/intel-analyTIcs/BigDL

[4]. Https://github.com/intel-analytics/analytics-zoo/tree/master/transform/vision[5].

Свяжись с нами
Рекомендуемые статьи
Чехлы
Что искать в автомате для выдачи парковочных талонов В большинстве случаев вы обнаружите, что существует много разных видов парковочных талонов. Вы будете уставать
Как работают диспенсеры для парковочных талонов Вы можете купить парковочные талоны онлайн, купить парковочные талоны легко, но вы также можете оплатить своей дебетовой картой, кредитной картой, чеком
Как работают диспенсеры для парковочных талоновРабота диспенсеров для парковочных талонов noche esta edicin flickerrolls politika sin sadismo сигареты shuhua nga qiaomiao miaoxian o harakk
Как работают автоматы для выдачи парковочных талонов Если вам что-то не нравится, отойдите от него и оставьте. Так всегда водили люди, которые ездят на машинах. The
Как работают автоматы для выдачи парковочных талоновСуществует множество способов парковки. Многие люди не понимают, что парковка очень опасна. Часто люди паркуются в машине
Как работают автоматы для парковки Люди думают, что автоматы для парковки работают, но это не так. Люди думают, что автоматы для парковки работают, но это не так
Как работают автоматы для парковки Мы должны быть благодарны вам за ваши автокресла, потому что они позволяют нам чувствовать себя в безопасности, и нам не нужно изо всех сил парковаться. Люди, которые h
Как работают автоматы для парковкиДиматоры для парковочных билетов работают как работают автоматы для парковки. Существует два основных способа
Как работают автоматы для парковки Количество денег, которое пользователь должен потратить на парковку, очень невелико. Я обнаружил, что люди не тратят слишком много времени на то, чтобы
Как работают диспенсеры парковочных талонов Мы используем данные парковочных счетчиков для написания программного обеспечения под названием Parking App. Мы используем наше приложение, чтобы иметь возможность оставить отзыв
нет данных
Shenzhen Tiger Wong Technology Co., Ltd является ведущим поставщиком решений для управления доступом для интеллектуальной системы парковки транспортных средств, системы распознавания номерных знаков, турникета контроля доступа для пешеходов, терминалов распознавания лиц и Решения для парковки LPR .
нет данных
CONTACT US

Шэньчжэнь TigerWong Technology Co.,Ltd

Тел:86 13717037584

Электронная почта: info@sztigerwong.com

Добавить: 1-й этаж, здание А2, Индустриальный парк Silicon Valley Power Digital, № 1. улица Дафу, 22, улица Гуанлан, район Лунхуа,

Шэньчжэнь, провинция Гуандун, Китай  

                    

Авторское право©2021 Шэньчжэнь TigerWong Technology Co.,Ltd  | Карта сайта
Contact us
skype
whatsapp
messenger
contact customer service
Contact us
skype
whatsapp
messenger
Отмена
Customer service
detect