Жизнь отнимает у людей слишком много времени (С. Лец).

7 мин для чтенияТоп 10 библиотек Python в 2020 году

FavoriteLoadingДобавить в избранное
1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (1 оценок, среднее: 5,00 из 5)
Загрузка...
20 декабря 2019
Программа 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 с помощью этого фреймворка происходит быстро и просто.

Эта библиотека также использует один из современных лучших приемов 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 является доказательством этого.

 

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), разрабатывая новые модели для таких задач, как обнаружение объектов, оценка позы, семантическая/инстанционная сегментация и в последнее время, паноптическая сегментация.

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

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

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

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

 

10. Metaflow

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

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

 

Вывод

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

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

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Читайте также

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам:

Заполните форму и наш менеджер перезвонит Вам в самое ближайшее время!

badge
Обратный звонок 1
Отправить
galka

Спасибо! Ваша заявка принята

close
galka

Спасибо! Ваша заявка принята

close