2015-12-03 3 views
0

Если вы используете Heroku, вы знаете, что Heroku налагает слизистый предел в 300MB. Наша компания пытается запустить приложение NLP, которое, используя библиотеку Stanford NLP, составляет более 300 МБ.Запуск НЛП на Heroku

Есть ли кто-нибудь, кто успешно проводил процесс НЛП в Стэнфорде на Heroku? Как вы это достигли? Если вам пришлось потерять вес, исключив части библиотеки НЛП, как вы это сделали?

ответ

1

Проблема с размерами, вызванная файлами модели в stanford-corenlp-3.5.2-models.jar. Вам не нужно хранить все файлы в файле stanford-corenlp-3.5.2-models.jar для использования инструментария. Я бы предложил оценить, какие функции вы хотите поддерживать для своего сервера, а затем удалить модели, которые не требуются для этой функции.

+0

Спасибо за ответ. Не удаляли ли модели причины исключения или с меньшей точностью? – nekonari

+0

Если задача A загружает модель B, если у вас есть модель B, она будет работать. Если вы удалите модель B, она рухнет. Вам просто нужны модели, которые вам нравятся. – StanfordNLPHelp

+0

Я имею в виду, что лучше всего запустить код без моделей, он сработает. Просто продолжайте добавлять файлы до тех пор, пока сбои не прекратятся, и тогда у вас будет минимальный набор. Я думаю, что модели, которые вам нужны, будут распечатываться, поскольку они загружаются по большей части, поэтому вы должны сохранить те, которые вы видите, загружая в распечатку, возможно. Но в конечном счете, если код работает и не падает, это означает, что у вас есть все необходимые вам модели. – StanfordNLPHelp

1

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

Альтернативой было бы сжатие моделей, а когда они вам понадобились, их разблокировать и сохранить в памяти во время работы вашего приложения. Это, вероятно, плохая идея. Возможно, вам стоит рассмотреть возможность использования другой системы НЛП.

0

Вы можете использовать версию 3.5.0. Это меньше 300 миллионов, но у меня все еще проблемы. Я думаю, что памяти недостаточно для бесплатной песочной коробки героку.

+0

Да как я подумал: 22 янв 2016 01: 21: 46.944 2016-01-22 09: 21: 46.564335 + 00: 00 app web.1 - - Классификатор загрузки от edu/stanford/nlp/models/ner /english.muc.7class.distsim.crf.ser.gz ... Исключение из потока "main" java.lang.OutOfMemoryError: превышен верхний предел GC –

+0

Хмм моя команда рада получить более высокий уровень для запуска НЛП, поэтому мы «отлично, когда мы меняем dyno на один из Performance. Мы обнаружили, что для запуска NLP нам требуется не менее 1,5 ГБ. Я бы хотел оптимизировать это очень сильно, потому что мы нажимаем 1,5 ГБ, работая только по одному процессу НЛП за раз. – nekonari

1

У меня была эта проблема раньше. Я поговорил с поддержкой Heroku, и они увеличили мой слабый размер до 500 Мб. Поэтому я предлагаю поговорить с ними. Кроме того, Heroku недавно добавила поддержку развертывания докеров. Вы можете попробовать использовать CodeShip или другой CI с развертыванием докеров для тестирования. Я считаю, что полностью обходит свой пользовательский CI/CD. Надеюсь, я ответил на ваш вопрос.

Смежные вопросы