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

OSCHINA-MIRROR/paddlepaddle-ERNIE

Клонировать/Скачать
README.md 3.7 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
gitlife-traslator Отправлено 01.12.2024 20:45 f54316f

Быстрый вывод ERNIE (C++)

API быстрого вывода ERNIE на C++ предоставляет более эффективный план онлайн-прогнозирования, который можно напрямую скомпилировать в производственную среду для повышения производительности. Его реализация основана на fluid inference. Убедитесь, что ваша версия fluid inference выше 1.7 для получения правильных результатов прогнозирования. На этой странице представлен демонстрационный тест ERNIE C++ fast inference.

Подготовка

Демонстрационные данные взяты из тестового набора данных XNLI и находятся в папке ./data. Данные представлены в формате открытого текста id, где одна строка представляет собой пакет, содержащий четыре поля:

src_ids, pos_ids, sent_ids, self_attn_mask

Поля разделены точкой с запятой (;), а внутри полей есть две части: shape и data, разделённые двоеточием (:); shape и data разделены пробелами; self_attn_mask имеет тип FLOAT32, остальные поля имеют тип INT64.

Для быстрого вывода ERNIE требуется модель в формате inference_model, которую можно создать, следуя инструкциям в разделе здесь.

При использовании модели inference_model, созданной с помощью propeller, требуются только поля src_ids и sent_ids. Поэтому необходимо соответствующим образом изменить файл данных.

Компиляция и запуск

Чтобы скомпилировать этот демонстрационный проект, компилятор C++ должен поддерживать стандарт C++11.

Скачайте соответствующую библиотеку fluid_inference и выберите версию, соответствующую вашей версии paddle и конфигурации (используете ли вы avx, mkl, cuda, cudnn). Распакуйте файлы и получите папку fluid_inference, поместите её в тот же каталог, что и файл inference.cc.

Скомпилируйте с помощью следующей команды:

cd ./gpu # cd ./cpu
mkdir build
cd build
cmake ..
make

Запустите с помощью следующей команды:

./run.sh ../data/sample /path/to/inference_mode_dir

Тестирование производительности

Тестовый образец: тестовый набор данных XNLI, BatchSize=1, SequenceLength=128. Повторите 5 раз и возьмите среднее значение.

Тестовая среда Задержка (мс)
CPU (Intel(R) Xeon(R) Gold 5117 CPU @ 2.00GHz (20 потоков)) 29.8818
GPU (P4) 8.5

Опубликовать ( 0 )

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

1
https://api.gitlife.ru/oschina-mirror/paddlepaddle-ERNIE.git
git@api.gitlife.ru:oschina-mirror/paddlepaddle-ERNIE.git
oschina-mirror
paddlepaddle-ERNIE
paddlepaddle-ERNIE
develop