Тот же код Python работает в Jupyter Notebook в 20 раз медленнее, чем в командной строкеPython

Программы на Python
Anonymous
Тот же код Python работает в Jupyter Notebook в 20 раз медленнее, чем в командной строке

Сообщение Anonymous »

У меня есть код Python, который использует трансформеры Hugging Face для запуска задачи НЛП в PDF-документе. Когда я запускаю этот код в Jupyter Notebook, его выполнение занимает более 1,5 часов. Затем я настраиваю тот же код для запуска через локально размещенное веб-приложение Streamlit. К моему удивлению, он проработал менее 5 минут!
Я считаю, что сравниваю яблоки с яблоками, потому что:
  • В каждом случае я анализирую один и тот же PDF-документ.
  • Поскольку приложение Streamlit размещено локально, все вычисления выполняются на процессоре моего ноутбука. Я не использую виртуальные ресурсы Hugging Face. Модели HF загружаются на мой компьютер.
  • Jupyter Notebook также работает локально на моем компьютере.
  • Файл .py. генерируется из блокнота Jupyter с использованием «streamlit-juypter», который просто берет код Python из блокнота и добавляет несколько операторов Streamlit.
Итак, по сути то же самое код работает с теми же данными и на том же оборудовании.
Единственные различия, которые я могу придумать, могут объяснить это:
  • Streamlit запускает файл Python .py из командной строки вместо блокнота .ipynb
  • Streamlit работает внутри виртуальной среды вместо моего основного Python установка
Кто-нибудь сталкивался с подобным? Может ли запуск того же кода Python из командной строки привести к увеличению скорости в 20 раз?
Изменить: как предложил @Wayne, я сравнил выходные данные pip list< /code> между моей основной установкой Python и venv и обнаружил некоторые различия. Поэтому я обновил все основные пакеты, используемые задачей НЛП, до последних версий, и теперь время выполнения осталось прежним. Хотя я до сих пор не знаю, какой пакет виноват, и, вероятно, сейчас это не имеет значения.
Сравнение версий пакетов в MS Excel
Изображение


Подробнее здесь: https://stackoverflow.com/questions/782 ... command-li

Вернуться в «Python»