Ray
Фреймворк Ray, разработанный группой исследователей из Калифорнийского университета в Беркли, лежит в основе ряда популярных распределенных библиотек машинного обучения. Но его применение не ограничивается только задачами машинного обучения. С помощью Ray можно разбить и распределить по системам фактически любые задачи для Python.
Синтаксис Ray минимален, поэтому распараллелить существующие приложения можно без лишних усилий. Декоратор @ray.remote распределяет эту функцию по любым доступным узлам в кластере Ray с необязательными параметрами, указывающими, сколько процессоров, в том числе графических, нужно использовать.
Результаты каждой распределенной функции возвращаются в виде объектов Python, поэтому ими легко управлять и хранить, а объем копирования между узлами или внутри них сведен к минимуму. Последнее будет очень полезно, например, при работе с массивами NumPy.
Подробнее👇
#фреймворки_библиотеки
@python_practics
Фреймворк Ray, разработанный группой исследователей из Калифорнийского университета в Беркли, лежит в основе ряда популярных распределенных библиотек машинного обучения. Но его применение не ограничивается только задачами машинного обучения. С помощью Ray можно разбить и распределить по системам фактически любые задачи для Python.
Синтаксис Ray минимален, поэтому распараллелить существующие приложения можно без лишних усилий. Декоратор @ray.remote распределяет эту функцию по любым доступным узлам в кластере Ray с необязательными параметрами, указывающими, сколько процессоров, в том числе графических, нужно использовать.
Результаты каждой распределенной функции возвращаются в виде объектов Python, поэтому ими легко управлять и хранить, а объем копирования между узлами или внутри них сведен к минимуму. Последнее будет очень полезно, например, при работе с массивами NumPy.
Подробнее👇
#фреймворки_библиотеки
@python_practics
👍2🔥1
Получите тексты песен
Этот продвинутый скрипт покажет вам, как получить текст любой песни. Сначала вы должны получить бесплатный API-ключ на сайте Lyricsgenius, а затем выполнить следующий код.
👍 - если было полезно
#полезные_сниппеты
@python_practics
Этот продвинутый скрипт покажет вам, как получить текст любой песни. Сначала вы должны получить бесплатный API-ключ на сайте Lyricsgenius, а затем выполнить следующий код.
👍 - если было полезно
#полезные_сниппеты
@python_practics
👍13
Способы обхода GIL для повышения производительности
Global Interpreter Lock в Питоне предотвращает одновременное выполнение нескольких потоков в одном процессе интерпретатора Python. Т.е даже на многоядерном процессоре многопоточные Python-приложения будут выполняться только в одном потоке за раз. Это было введено для некой потокобезопасности при работе с объектами Python, упрощая тем самым разработку на уровне интерпретатора.
На первый взгляд, GIL кажется разумным компромиссом для упрощения разработки. Однако, когда есть многоядерные процессоры и появляется необходимость в высокопроизводительных вычислениях GIL серьезно ограничивает возможности масштабирования и параллельную работу.
В этой статье автор рассмотрел способы обхода GIL.
Подробнее👇
#статьи
@python_practics
Global Interpreter Lock в Питоне предотвращает одновременное выполнение нескольких потоков в одном процессе интерпретатора Python. Т.е даже на многоядерном процессоре многопоточные Python-приложения будут выполняться только в одном потоке за раз. Это было введено для некой потокобезопасности при работе с объектами Python, упрощая тем самым разработку на уровне интерпретатора.
На первый взгляд, GIL кажется разумным компромиссом для упрощения разработки. Однако, когда есть многоядерные процессоры и появляется необходимость в высокопроизводительных вычислениях GIL серьезно ограничивает возможности масштабирования и параллельную работу.
В этой статье автор рассмотрел способы обхода GIL.
Подробнее👇
#статьи
@python_practics
👍4
GPT-3. Руководство по использованию API OpenAI
Чему вы научитесь:
• Основам работы с API OpenAI для доступа к модели GPT-3;
• Форматированию и отправке запросов к API для получения текстовых ответов от модели;
• Использованию различных параметров запроса для настройки работы модели, таких как температура, максимальная длина ответа и прочие;
• Обработке и интерпретации ответов от модели GPT-3;
• Реализации различных приложений и сервисов, использующих API GPT-3 для генерации текста.
Эта книга предназначена для разработчиков, исследователей и всех, кто интересуется использованием и применением модели GPT-3 в своих проектах.
Книга в формате pdf👇
#курсы_книги
@python_practics
Чему вы научитесь:
• Основам работы с API OpenAI для доступа к модели GPT-3;
• Форматированию и отправке запросов к API для получения текстовых ответов от модели;
• Использованию различных параметров запроса для настройки работы модели, таких как температура, максимальная длина ответа и прочие;
• Обработке и интерпретации ответов от модели GPT-3;
• Реализации различных приложений и сервисов, использующих API GPT-3 для генерации текста.
Эта книга предназначена для разработчиков, исследователей и всех, кто интересуется использованием и применением модели GPT-3 в своих проектах.
Книга в формате pdf👇
#курсы_книги
@python_practics
👍2
С помощью какой функции можно вызвать метод из родительского класса python?
Anonymous Quiz
59%
super()
33%
self()
8%
meth()
🔥7
Мониторинг Celery
Существует популярный подход к покрытию метриками Celery: он заключается в запуске некоторого процесса, который слушает события из специальной очереди, на основе этих событий обновляются объекты метрик, а фоновый поток сервера отдаёт собранные метрики скраперу. В этой статье автор подробно разобрал события, их жизненный цикл, откуда и как их принимать. Также рассмотрел механизм удалённого управления (remote control), какие у него есть возможности и как им пользоваться. Обсудил существующие решения, чем они отличаются, и почему вам, возможно, будет выгодно сделать своё.
Подробнее👇
#статьи
@python_practics
Существует популярный подход к покрытию метриками Celery: он заключается в запуске некоторого процесса, который слушает события из специальной очереди, на основе этих событий обновляются объекты метрик, а фоновый поток сервера отдаёт собранные метрики скраперу. В этой статье автор подробно разобрал события, их жизненный цикл, откуда и как их принимать. Также рассмотрел механизм удалённого управления (remote control), какие у него есть возможности и как им пользоваться. Обсудил существующие решения, чем они отличаются, и почему вам, возможно, будет выгодно сделать своё.
Подробнее👇
#статьи
@python_practics
👍2
Внимание! - Вопрос!
Что такое интроспекция?
Интроспекция — это способность программы исследовать тип или свойства объекта во время работы программы. Вы можете поинтересоваться, каков тип объекта, является ли он экземпляром класса. Некоторые языки даже позволяют узнать иерархию наследования объекта. Возможность интроспекции есть в таких языках, как Ruby, Java, PHP, Python, C++ и других. В целом, инстроспекция — это очень простое и очень мощное явление.
#вопросы_из_собеседований
@python_practics
Что такое интроспекция?
#вопросы_из_собеседований
@python_practics
👍3
Задача:
Ваша команда пишет новый модный текстовый редактор, и вам было поручено реализовать нумерацию строк.
Напишите функцию, которая принимает список строк и возвращает каждую строку, перед которой стоит правильный номер.
Пример:
#задачник
@python_practics
Ваша команда пишет новый модный текстовый редактор, и вам было поручено реализовать нумерацию строк.
Напишите функцию, которая принимает список строк и возвращает каждую строку, перед которой стоит правильный номер.
Пример:
[] --> []
["a", "b", "c"] --> ["1: a", "2: b", "3: c"]
#задачник
@python_practics
👍3👎1
Получение данных Exif для фотографий
Используйте модуль Python Pillow для получения Exif-данных любой фотографии.
👍 - если было полезно
#полезные_сниппеты
@python_practics
Используйте модуль Python Pillow для получения Exif-данных любой фотографии.
👍 - если было полезно
#полезные_сниппеты
@python_practics
👍9
Внимание! - Вопрос!
Что такое рефлексия?
Интроспекция позволяет вам изучать атрибуты объекта во время выполнения программы, а рефлексия — манипулировать ими. Рефлексия — это способность компьютерной программы изучать и модифицировать свою структуру и поведение (значения, мета-данные, свойства и функции) во время выполнения. Простым языком: она позволяет вам вызывать методы объектов, создавать новые объекты, модифицировать их, даже не зная имён интерфейсов, полей, методов во время компиляции. Из-за такой природы рефлексии её труднее реализовать в статически типизированных языках, поскольку ошибки типизации возникают во время компиляции, а не исполнения программы (подробнее об этом здесь). Тем не менее, она возможна, ведь такие языки, как Java, C# и другие допускают использование как интроспекции, так и рефлексии (но не C++, он позволяет использовать лишь интроспекцию).
#вопросы_из_собеседований
@python_practics
Что такое рефлексия?
#вопросы_из_собеседований
@python_practics
👍4