Обычно в процессе обучения PLSC сохраняет модель, содержащую только информацию о параметрах модели, но не структуру прогностической модели. Чтобы развернуть прогностическую библиотеку PLSC, необходимо экспортировать предварительно обученную модель в качестве прогностической. Прогностическая модель включает необходимые параметры и структуру модели для последующего прогнозирования (см. раздел «Руководство по использованию прогностической библиотеки»).
Следующий код позволяет экспортировать предварительно обученную модель как прогностическую «export_for_inference.py»:
from plsc import Entry
if __name__ == "__main__":
ins = Entry()
ins.set_checkpoint_dir('./pretrain_model')
ins.set_model_save_dir('./inference_model')
ins.convert_for_prediction()
Здесь «./pretrain_model» — это каталог с параметрами предварительно обученной модели, а «./inference_model» — каталог для прогностической модели.
Чтобы запустить задачу экспорта, выполните следующую команду:
python export_for_inference.py
pip3 install plsc-serving
pip install ujson
В настоящее время поддерживается только прогнозирование на GPU-машинах с CUDA версии 9.0 или выше.
Для запуска сервера используйте следующий скрипт:
from plsc_serving.run import PLSCServer
fs = PLSCServer()
#Укажите путь к используемой модели, str, абсолютный путь
fs.with_model(model_path = '/XXX/XXX')
#Запустите один процесс, gpu_index указывает используемый графический процессор, int, по умолчанию 0; port указывает используемый порт, int, по умолчанию 8866
fs.run(gpu_index = 0, port = 8010)
Для запуска клиента используйте следующий скрипт:
from face_service import FaceService
with open('./data/00000000.jpg', 'rb') as f:
image = f.read()
fc = FaceService()
#Добавьте соединение с сервером, str, по умолчанию localhost:8010
fc.connect('127.0.0.1:8010')
#Вызовите прогноз на сервере, входные данные - список образцов list, возвращаемое значение - результат встраивания образцов, list, форма - размер пакета * размер встраивания
result = fc.encode([image])
print(result[0])
bc.close()
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.