2017-02-22 107 views
0

Это более простой вопрос.Создание тестовой среды с небольшими моделями Spacy

Мы используем Spacy в нашей производственной системе. Во время тестирования много раз мы должны загружать полные неспешные модели (парсер + словарные векторы), которые могут быть очень медленными (~ 30 минут) и разочаровывают. Возможно, лучшей стратегией могло бы стать создание пользовательской легкой модели для проверки, например, с использованием только 1000 слов vocab и меньшей модели синтаксического анализа.

Предлагаются стратегии/рекомендации при тестировании с использованием большой модели данных, которая может быть применена к этому сценарию?

ответ

0

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

Существует, конечно, возможность создания облегченных версий моделей, но это не тривиальный случай, вероятно, потребуется работа над каждой версией версии spacy, и вы должны иметь в виду, что другие разработчики должны иметь возможность обновлять после этого, когда тесты/требования меняются.

Если вам действительно нужны модели, и самая большая проблема заключается в том, что они будут загружены, используйте использование кеша для данных. Многие среды CI могут кэшировать модели для вас, и они будут действительны до тех пор, пока не будет введена более новая версия spacy.

+0

Я предпочитаю не издеваться над критическими частями, такими как spacy, чтобы наши тесты были максимально реалистичными и «интеграционными». Однако, как вы сказали, CI, который мы используем сейчас (Circle CI), позволяет кэшировать модель. Таким образом, время загрузки намного лучше. Благодаря! – Rajhans