python

6 основных библиотек для программирования на Python

  • воскресенье, 22 декабря 2019 г. в 00:30:30
https://habr.com/ru/post/481432/
  • Python
  • Программирование


Привет, Хабр! Представляю вам перевод статьи "6 Essential Python Libraries for Python Programming" автора VijayDeveloper.

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

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

Итак, вот 6 основных библиотек для программирования на Python, о которых должен знать каждый разработчик на Python:

• Keras


Тип – нейросетевая библиотека.

Начальная версия – март 2015.

Keras – открытая нейросетевая библиотека, написанная на языке Python. Нацелена на оперативную работу с сетями глубокого обучения, при этом спроектирована так, чтобы быть компактной, модульной и расширяемой.

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

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

Особенности:

  • Легко отлаживать и исследовать, так как она полностью написана на Python.
  • Содержит многочисленные реализации широко применяемых строительных блоков нейронных сетей, таких как функции активации, уровни, цели и оптимизаторы.
  • Невероятная выразительность и гибкость делают его идеальным для инновационных исследований.
  • Предлагает несколько предварительно обработанных наборов данных и предварительно обученных моделей, таких как Inception, MNIST, ResNet, SqueezeNet и VGG.
  • Обеспечивает поддержку почти всех моделей нейронных сетей, включая свёрточную, встраиваемую, полностью подключенную, объединяющую в пул и рекуррентную. Более того, эти модели можно комбинировать для разработки еще более сложных моделей.
  • Работает как на CPU (центральном процессоре), так и на GPU (ядре процессора)

Область применения:

  • Уже используется Netflix, Square, Uber и Yelp.
  • Для исследования глубокого обучения. Принят исследователями в ЦЕРН и НАСА.
  • Популярный среди стартапов, разрабатывающих продукты, основанные на глубоком обучении.

• NumPy


Тип – техническая вычислительная библиотека.

Начальная версия – 1995 (как Numeric).

2006 (Как NumPy).

NumPy был создан Трэвисом Олифантом в 2005 году путем включения функций конкурирующей библиотеки Numarray в библиотеку Numeric и применения обширных модификаций. В бесплатной библиотеке с открытым исходным кодом есть несколько соавторов со всего мира.

Одна из самых популярных библиотек машинного обучения в Python, TensorFlow и несколько других библиотек используют библиотеку NumPy Python внутри себя для выполнения нескольких операций над тензорами.

Особенности:

  • Активная поддержка сообщества
  • Полностью бесплатный и открытый исходный код
  • Сложные матричные операции, такие как матричное умножение
  • Интерактивный и супер простой в использовании
  • Облегчает сложные математические реализации
  • Легко кодировать с удобочитаемыми концепциями

Область применения:

  • Для выполнения сложных математических вычислений
  • Для представления изображений, звуковых волн и других форм двоичных необработанных потоков в виде массива действительных чисел в N-мерном
  • Для проектов машинного обучения

• Pillow


Тип – Библиотека обработки изображений

Начальная версия – 1995 (Как Python Imaging Library или PIL)

2011 (Как Pillow)

Pillow — это библиотека Python, которая почти так же стара, как и язык программирования, для которого она была разработана. На самом деле, Pillow — это форк для PIL (Python Imaging Library). Свободно используемая библиотека Python необходима для открытия, манипулирования и сохранения разнообразных файлов изображений.

Pillow была принята в качестве замены оригинального PIL в нескольких дистрибутивах Linux, в частности, Debian и Ubuntu. Тем не менее, он также доступен для MacOS и Windows.

Особенности:

  • Добавляет текст к изображениям
  • Улучшение и фильтрация изображения, включая размытие, регулировку яркости, контур и резкость
  • Маскировка и прозрачность
  • Пиксельные манипуляции
  • Обеспечивает поддержку множества форматов файлов изображений, включая BMP, GIF, JPEG, PNG, PPM и TIFF. Обеспечивает поддержку для создания новых декодеров файлов с целью расширения библиотеки доступных форматов файлов.

Область применения:

  • Для обработки изображений

• PYGLET


Тип — Библиотека разработки игр

Начальная версия – апрель 2015

Библиотека многоплатформенного кадрирования и мультимедии для Python, PYGLET — это популярное имя для разработки игр с использованием Python. В дополнение к играм, библиотека разработана для создания визуально насыщенных приложений.

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

Особенности:

  • Использование нескольких окон и рабочих столов с несколькими мониторами
  • Загрузка изображений, звука и видео практически во всех форматах
  • Нет внешних зависимостей и требований к установке
  • Предоставляется в соответствии с лицензией BSD с открытым исходным кодом, поэтому может свободно использоваться как в личных, так и в коммерческих целях
  • Обеспечивает поддержку как Python 2, так и Python 3

Область применения:

  • Для разработки визуально насыщенных приложений
  • Для разработки игр

• Requests


Тип – Библиотека HTTP

Начальная версия – февраль 2011

Requests — HTTP библиотека Python, направлена на то, чтобы сделать запросы HTTP проще и удобнее. Разработанный Кеннетом Рейтцем и несколькими другими участниками, Requests позволяет отправлять запросы HTTP/1.1 без вмешательства человека.

От Nike и Spotify до Amazon и Microsoft десятки крупных организаций используют запросы внутренне, чтобы лучше справляться с HTTP. Написанная полностью на Python, Requests доступна в виде бесплатной библиотеки с открытым исходным кодом под лицензией Apache2.

Особенности:

  • Автоматическое декодирование контента
  • Базовая/дайджест-аутентификация
  • Проверка SSL в браузерном стиле
  • Частичные запросы и время ожидания соединения
  • Обеспечивает поддержку прокси-серверов .netrc и HTTP (S)
  • Сеансы с сохранением cookie
  • Ответное тело Unicode

Область применения:

  • Позволяет отправлять запросы HTTP/1.1 с использованием Python и добавлять контенты, такие как заголовки, данные форм и многокомпонентные файлы
  • Для автоматического добавления строк запроса в URL
  • Для автоматического кодирования данных POST

• TensorFlow


Тип – Библиотека машинного обучения

Начальная версия – ноябрь 2015

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

Разработанный Google Brain для внутреннего использования, библиотека используется для коммерческих и исследовательских целей.

Тензорными являются N-мерные матрицы, которые представляют данные. Библиотека TensorFlow позволяет писать новые алгоритмы, включающие большое количество тензорных операций.

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

Особенности:

  • Позволяет визуализировать каждую часть графа
  • Полностью бесплатный и открытый исходный код
  • Легко обучается на CPU (центральный процессор) и GPU (ядро процессора) для распределенных вычислений
  • Огромная поддержка сообщества
  • Обеспечивает гибкость в своей работоспособности. Части, которые требуются больше всего, могут быть сделаны автономными
  • Поддерживает обучение нескольких нейронных сетей и нескольких графических процессоров для создания эффективных моделей в крупных системах
  • Использует методы, подобные XLA, для ускорения операций линейной алгебры

Область применения:

  • Для проектов машинного обучения
  • Для проектов нейронных сетей
  • В автоматизированном программном обеспечении для создания титров, таких как DeepDream
  • Машинное обучение в продуктах Google, таких как Google Photos и Google Voice Search

На этом завершается список 6 основных библиотек Python для программирования на Python. Какие библиотеки должны были/не должны были попасть в этот список? Дайте нам знать в ваших комментариях.

Изучайте Python сейчас и да прибудет с вами сила!