Логотип

Топ 10 библиотек Python в 2020 году

Программа Python для проверки високосного года

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

 

1. HTTPX

Как фанат Python, который обычно взаимодействует с API, вы, вероятно, знакомы с библиотекой запросов. Однако запросы не принесут вам пользы, если вы используете асинхронную парадигму, которая все чаще встречается в современных высокопроизводительных приложениях.

Чтобы решить эту проблему, замечательный Том Кристи и его коллеги предлагают нам HTTPX, асинхронный HTTP-клиент нового поколения для нового десятилетия.

Созданный в соответствии с тем же удобством использования запросов, HTTPX предоставляет вам стандартные функции, а также поддержку HTTP/2 и HTTP/1. Другие функции включают вызов непосредственно в веб-приложение Python с использованием протокола ASGI и полное аннотирование типа.

Вам нужно сделать большое количество запросов одновременно? Тогда HTTPX — это новый ответ.

Примечание: HTTPX все еще рассматривается в альфа-версии и в настоящее время разрабатывается только как асинхронный клиент. В будущем клиент синхронизации будет вновь введен.

 

2. Starlette

Starlette — это облегченный фреймворк/инструментарий ASGI с множеством функций, включая поддержку WebSocket и GraphQL, фоновые задачи внутри процесса и действительно высокую производительность. Все они имеют аннотированную кодовую базу на 100% и ноль жестких зависимостей. Думайте об этом как об очень легкой, современной и асинхронной версии Flask.

Он также дает вам гибкость выбора, использовать ли его как полноценную веб-среду или просто как набор инструментов ASGI.

Он работает поверх сервера ASGI, такого как uvicorn, который попал в этот же список в прошлом году.

Если вы думаете о разработке нового веб-приложения, вам непременно следует дать Starlette шанс проявить себя.

 

3. FastAPI

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

FastAPI от Себастьяна Рамиреса — только это. Это быстро во всех смыслах этого слова.

Новая структура для создания API с помощью Python обеспечивает очень высокую производительность и автоматическую интерактивную документацию на основе стандартов OpenAPI. Он имеет поддержку по умолчанию для Swagger UI и ReDoc, что позволяет вам вызывать и тестировать свой API напрямую из браузера, ускоряя время разработки. Создание API с помощью этого фреймворка происходит быстро и просто.

Читать  Функция Lambda в Python

Эта библиотека также использует один из современных лучших приемов Python: подсказки типов. FastAPI использует подсказки типов для многих вещей, но одна из самых классных функций — это автоматическая проверка и преобразование данных на основе Pydantic.

Опираясь на Starlette, производительность FastAPI не уступает NodeJS и Go, а также имеет встроенную поддержку WebSocket и GraphQL.

И последнее, но не менее важное: в нем содержится лучшая техническая документация, когда-либо написанная для библиотеки с открытым исходным кодом. Серьезно, проверьте это!

 

4. Immutables

Люди в MagicStack вернулись, с простым, но элегантным неизменяемым типом отображения («замороженный дикт»).

Кто может извлечь из этого пользу? Что ж, базовой структурой данных является Tree (HAMT) с отображением хеш-массива, используемая в функциональных языках программирования, таких как Haskell. Самое интересное, что они дают производительность O(log N) для операций set() и get(), что по существу равно O(1) для сравнительно небольших отображений.

Если ваше приложение использует более крупные словари и может повысить производительность, возможно, стоит проверить эту классную новую библиотеку.

 

5. Pyodide

Pyodide — один из таких проектов, который может поразить вас. Он переносит научный стек Python в браузер с помощью WebAssembly, выводя научные вычисления на совершенно новый уровень.

Хотите сократить некоторые цифры с помощью NumPy ? Обрабатывать несколько больших DataFrames с Pandas? График ваши результаты с помощью Matplotlib? Благодаря Pyodide все это и даже больше стало возможным благодаря вашему браузеру.

Что еще лучше: каталог в настоящее время содержит более 35 доступных пакетов. Поистине, небо — это единственный предел.

 

6. Modin

Девиз Modin — масштабировать рабочий процесс Pandas, изменяя одну строку кода, и это действительно так просто. Просто установите Modin, измените операторы импорта и получите в 4 раза больше преимуществ на современных ноутбуках с многоядерными процессорами.

Как это сделать? Мы откроем вам секрет. Modin реализует свой собственный объект modin.pandas.DataFrame, который представляет собой легкий параллельный DataFrame. Использование этого объекта прозрачно, поскольку оно совместимо с API с Pandas, а в фоновом режиме он будет распространять данные и вычисления с использованием вычислительного механизма, такого как Ray или Dask.

Иногда получение больших ускорений требует лишь незначительных изменений в вашем коде, и Modin является доказательством этого.

Читать  Сортировка списка в Python

 

7. Streamlit

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

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

Streamlit предоставляет быстрый способ перейти от ваших скриптов Python к приложению производственного уровня, просто добавив несколько строк в ваш код. TensorFlow, Keras, PyTorch, Pandas: Streamlit работает с каждым инструментом связанного научными данными.

 

8. Transformers

Если вы выполняете какую-либо работу, связанную с машинным обучением, вы, вероятно, слышали о важных достижениях в области обработки естественного языка (NLP), произошедших в прошлом году.

Было разработано много новых и высокопроизводительных моделей, таких как BERT, XLNet или roBERTa, которые значительно продвинули современное состояние в широком спектре задач НЛП (таких как классификация текста, машинный перевод, распознавание именованных объектов и многие другие).

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

Удивительные люди из Hugging Face приносят нам библиотеку Transformer, которая включает в себя упакованные, предварительно обученные и готовые к использованию реализации самых современных моделей НЛП. Функциональная совместимость между TensorFlow 2.0 и PyTorch помогла катапультировать эту библиотеку к отраслевому стандарту, поддерживающему как исследовательские, так и производственные приложения. Они также двигаются очень быстро, часто вводя новые модели в библиотеку по мере их разработки исследователями.

Вишня на торте: команда Hugging Face разработала дистиллят DistilBERT, версию очищенную BERT, которая меньше, быстрее, дешевле и легче.

Вы все еще на пороге перехода на современный НЛП с использованием Hugging Face/Transformer? Сегодня ваш счастливый день, вы можете проверить их отличную онлайн-демонстрацию и поразиться ее мощям.

 

9. Detectron2

Исследовательская группа по искусственному интеллекту Facebook (FAIR) расширяет границы компьютерного зрения (CV), разрабатывая новые модели для таких задач, как обнаружение объектов, оценка позы, семантическая/инстанционная сегментация и в последнее время, паноптическая сегментация.

Читать  Как установить Python Pip на Ubuntu 20.04

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

Detectron2 — это долгожданное продолжение Detectron, созданное с нуля с помощью PyTorch и оснащенное самыми современными алгоритмами компьютерного зрения.

Библиотеки, подобные этим, особенно сложно спроектировать из-за разнообразных типов использования, которые они должны поддерживать. Как и в случае с трансформаторами Hugging Face, команда FAIR проделала большую работу, разработав Detectron2 очень гибким и модульным способом, что делает его очень привлекательным для приложений для исследования CV. В то же время, он чрезвычайно прост в использовании, что делает его идеальным для людей, которые просто хотят получить быстрые результаты. Да, вы можете использовать Detectron2, и ваша программа сможет «понимать» изображения с помощью всего лишь нескольких строк кода Python.

Время покажет, преуспеет ли Detectron2 в создании яркого сообщества, но пока все выглядит довольно многообещающе. Это вполне может стать «готовым» решением для CV-приложений, где новые — более быстрые и качественные — модели вносятся по мере их создания исследователями. Если вы делаете какую-либо работу с резюме, держите это под своим радаром!

 

10. Metaflow

Это буквально новый ребенок в блоке, так что он едва попал в этот список 2019 года! Но не обманывайте себя: хотя он был выпущен менее 2 недель назад, он уже был внутренне испытан Netflix, пока они не решили открыть исходный код после 2 лет доработки.

Metaflow — это библиотека Python, которая помогает ученым и инженерам по данным создавать реальные проекты для использования в реальном мире. Основной упор делается на облегчение технической нагрузки для нетехнических исследователей данных, таких как вычислительные ресурсы, параллельное выполнение, проектирование архитектуры и управление версиями и многие другие. Netflix сотрудничает с AWS, что позволяет вам легко определять сложные потоки данных с готовой поддержкой распределенных вычислений.

 

Вывод

Мы хотели бы взять несколько строк, чтобы поблагодарить всех в сообществе за их ценный вклад и вас, читателей.

Да, и кстати, если мы упустили вашу любимую библиотеку Python, пожалуйста, не стесняйтесь комментировать ниже. Мы хотели бы услышать, чем вы пользуетесь.

Редактор: AndreyEx

Рейтинг: 4 (1 голос)
Если статья понравилась, то поделитесь ей в социальных сетях:
0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии

Это может быть вам интересно


Загрузка...

Спасибо!

Теперь редакторы в курсе.

Прокрутить страницу до начала