1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/paddlepaddle-Serving

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

(русский|English)




Build Status Documentation Release Python License Fork me on GitHub Issues Contributors Community

***Paddle Serving использует глубокое обучение PaddlePaddle для предоставления высокопроизводительной, гибкой и удобной в использовании онлайн-системы вывода для разработчиков глубокого обучения и предприятий. Paddle Serving поддерживает протоколы RESTful, gRPC, bRPC и другие. Он предлагает решения для вывода на различных типах аппаратного обеспечения и операционных системах, а также примеры использования множества классических предварительно обученных моделей. Основные характеристики представлены ниже:

  • Интеграция высокопроизводительной серверной системы вывода Paddle Inference и клиентской системы Paddle Lite, а также возможность миграции моделей с других платформ машинного обучения (Caffe/TensorFlow/ONNX/PyTorch) с помощью инструмента x2paddle.

  • Предоставление двух высокоэффективных систем: C++ Serving и удобной в использовании Python Pipeline. C++ Serving основана на высокопроизводительном сетевом фреймворке bRPC и обеспечивает высокую пропускную способность и низкие задержки при выводе. Python Pipeline использует сетевые фреймворки gRPC/gRPC-Gateway и язык программирования Python для создания удобной и производительной системы вывода. Подробнее о выборе технологий см. раздел технический выбор.

  • Поддержка протоколов HTTP, gRPC, bRPC и других.; предоставление SDK на языках C++, Python и Java.

  • Реализация асинхронной системы вывода на основе направленного ациклического графа (DAG), поддерживающая работу с несколькими моделями, асинхронное планирование, параллельный вывод, динамическое группирование запросов, вывод на нескольких картах и потоках, кэширование запросов и др.

  • Поддержка различных аппаратных конфигураций: x86 (Intel) процессоры, ARM процессоры, Nvidia GPU, Kunlun XPU, Huawei Ascend 310/910, Hygon DCU, Nvidia Jetson и др.

  • Интеграция библиотек ускорения Intel MKLDNN и Nvidia TensorRT, а также использование низкопрямичной квантовой модели вывода.

  • Предоставление решения по безопасному развертыванию моделей, включающее шифрование моделей, проверку авторизации, HTTPS-безопасный шлюз, применяемое в реальных проектах.

  • Поддержка облачного развертывания; пример развертывания Paddle Serving на кластере Kubernetes Baidu Cloud Intelligent Cloud.

  • Предоставление множества примеров развертывания классических моделей, таких как PaddleOCR, PaddleClas, PaddleDetection, PaddleSeg, PaddleNLP, PaddleRec и др., всего более 40 предобученных моделей.

  • Поддержка распределенного развертывания больших моделей со слабо связанными параметрами, включая работу с несколькими таблицами, фрагментами и копиями, локальным кэшем высокочастотных запросов, возможностью развертывания на одном компьютере или в облаке.- Поддержка мониторинга сервиса, предоставляющая данные о производительности через Prometheus и отслеживание доступа к портам.

Руководства и примеры использования

- Руководство по использованию AIStudio: [Платформа Paddle Serving сервисная архитектура](https://www.paddlepaddle.org.cn/tutorials/projectdetail/3946013) - Пример практического применения OCR в AIStudio: [Сервисная реализация OCR с помощью Paddle Serving](https://aistudio.baidu.com/aistudio/projectdetail/3630726) - Видео руководства: [Сервисная реализация глубинной нейронной сети — пример интернет приложения](https://aistudio.baidu.com/aistudio/course/introduce/19084) - Решение для искусственного интеллекта на краю сети: [Решение для краевой вычислительной системы на основе Paddle Serving & Baidu Intelligent Edge BIE](https://mp.weixin.qq.com/s/j0EVlQXaZ7qmoz9Fv96Yrw) - Решение для государственной службы вопросов и ответов: [Государственный FAQ системный подход](https://github.com/PaddlePaddle/PaddleNLP/tree/develop/applications/question_answering/faq_system) - Решение для автоматического ответа на вопросы: [Автоматический ответ на вопросы страхового бизнеса](https://github.com/PaddlePaddle/PaddleNLP/tree/develop/applications/question_answering/faq_finance) - Решение для семантического индексирования: [Обработка отрицательных примеров внутри пакета](https://github.com/PaddlePaddle/PaddleNLP/tree/develop/applications/neural_search/recall/in_batch_negative)

Статьи

Документация

Установка и развертывание

Эта глава поможет вам пройти через шаги установки и развертывания. Рекомендуется использовать Docker для развертывания Paddle Serving. Если вы не используете Docker, пропустите шаги, связанные с Docker. На облачных серверах можно использовать Kubernetes для развертывания Paddle Serving. Для компиляции и использования Paddle Serving на неоднородных устройствах, таких как ARM CPU, Kunlun XPU, Huawei Ascend NPU, Hygon DCU и Jetson, прочитайте следующие документы. Каждый день создается последняя версия разработки для разработчиков.

После установки Paddle Serving следуйте быстрому руководству для запуска Serving. Конкретные шаги приведены ниже:

Первый шаг — вызвать модель для сохранения интерфейса, чтобы сгенерировать конфигурационный файл модели (.prototxt) для использования в клиентской и серверной части.Второй шаг — прочитайте конфигурацию и параметры запуска, а затем запустите службу;

Третий шаг — используйте API и вашу конкретную ситуацию, чтобы написать запрос клиента с помощью SDK и протестировать сервис вывода. Для получения более подробной информации о сценариях использования и методах работы с различными возможностями обратитесь к следующим документам.- Быстрое начало

Для разработчиков Paddle Serving предлагается возможность создания пользовательских операторов и обработки данных переменной длины.

Библиотека моделей

Paddle Serving и набор моделей Paddle тесно взаимодействуют, обеспечивая массовое развертывание в виде сервисов, включая примеры различных типов, таких как распознавание изображений, детекция объектов, распознавание текста естественного языка, анализ части речи китайского языка, анализ тональности, рекомендательные системы и многое другое, а также проекты целиком на основе Paddle, всего 46 моделей.

Распознавание изображений NLP Рекомендательные системы Распознавание лиц Детекция объектов Распознавание текста Разделение изображений Определение ключевых точек Анализ видео
14 6 3 1 10 8 2 1 1

Дополнительные примеры моделей доступны по ссылке библиотека моделей.

Комьюнити

Вы хотите общаться с другими разработчиками и пользователями? Приглашаем вас присоединиться к нашему сообществу через следующие способы:### WeChat

  • Пользователям WeChat просим сканировать QR-код

QQ

  • Группа обсуждения Paddle Inference Deployment (Group ID: 697765514)

Вклад в код

Если вы хотите внести свой вклад в Paddle Serving, пожалуйста, обратитесь к Руководству по вкладу (англ.).

  • Благодарность @w5688414 за предоставление примера модели NLP Ernie Indexing
  • Благодарность @loveululu за предоставление Cube Python API
  • Благодарность @EtachGu за обновление команд Docker
  • Благодарность @BeyondYourself за предоставление учебника по gRPC, обновление учебников FAQ и организацию файловой структуры
  • Благодарность @mcl-stone за предоставление скрипта benchmark для Faster R-CNN
  • Благодарность @cg82616424 за предоставление скрипта benchmark для UNET и исправление ошибок в комментариях
  • Благодарность @cuicheng01 за предоставление 11 моделей PaddleClas
  • Благодарность @Jiaqi Liu за добавление поддержки прогнозирования типа list[str]
  • Благодарность @Bin Lu за предоставление примера модели PP-Shitu на C++

Обратная связь

Если у вас есть какие-либо предложения или обнаружены баги, пожалуйста, отправьте их в GitHub Issue.

ЛицензияЛицензия Apache 2.0

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

Описание недоступно Развернуть Свернуть
C++ и 6 других языков
Apache-2.0
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/paddlepaddle-Serving.git
git@api.gitlife.ru:oschina-mirror/paddlepaddle-Serving.git
oschina-mirror
paddlepaddle-Serving
paddlepaddle-Serving
v0.9.0