Как стать автором
Обновить

Новый Numpy 1.20.0 — что туда завезли и стоит ли обновлять?

Python *Машинное обучение *

Друзья, только недавно вышел новый релиз Numpy 1.20.0 и самое время обсудить, что туда завезли интересного.

Само собой, обсуждать будем не все - иначе мы просто с головой погрязнем в изучении доки. Публикуем только самое интересное (на наш скромный и неправильный взгляд). Если Вы для себя выделяете еще что-то важное, о чем мы не упомянули - поделитесь в комментариях!

Итак, приступим.

Читать далее
Всего голосов 8: ↑7 и ↓1 +6
Просмотры 4.4K
Комментарии 0

Intel оптимизировала библиотеку Numpy под AVX-512, ускорив вычисления Python в 14—32 раза

Блог компании ITSumma Open source *Python *Софт Процессоры

Расположение векторного регистрового файла (жёлтый) и целочисленного регистрового файла (красный) на процессорах Skylake. Блок векторных регистров AVX-512 зашит в жёлтой области

Компания Intel представила патч к библиотеке Numpy с оптимизациями, которые используют фирменный набор инструкций AVX-512.

Numpy — библиотека с открытым исходным кодом для языка программирования Python c поддержкой многомерных массивов (включая матрицы) и высокоуровневых математических функций. Numpy активно используется сообществом Python для реализации вычислительных алгоритмов — и эту библиотеку можно рассматривать в каком-то смысле как свободную альтернативу Matlab.
Читать дальше →
Всего голосов 39: ↑39 и ↓0 +39
Просмотры 11K
Комментарии 12

Графика средствами Python

Программирование *
В издательстве Apress вышла книга Beginning Python Visualization: Crafting Visual Transformation Scripts, посвящённая визуализации данных с помощью Python и смежных инструментов. Это уникальная в своём роде работа, потому что на Питоне такие вещи делают довольно редко. Автор книги говорит, что сам искал такое руководство для своей работы, но не нашёл, и ему пришлось разбираться самостоятельно.

В книге приводится несколько примеров, как можно визуализировать данные. Например, с помощью Python можно извлечь данные из GPS-ресивера через серийный порт и уже на компьютере обработать как душе угодно, в том числе создавать графики и диаграммы. Автор показывает всё это на примере конкретного GPS-приёмника и модуля PySerial.

Самое главное в книге — подробная демонстрация, как работать с известными для визуализации математических и научных данных MatPlotLib, NumPy и SciPy, а также с библиотекой PIL (Python Imaging Library) для простейшей обработки изображений.

Полистать книгу можно в магазине Amazon (по ссылке выше).
Всего голосов 41: ↑36 и ↓5 +31
Просмотры 13K
Комментарии 29

Компания Microsoft представила поддержку Python в Visual Studio

Visual Studio *
image

Компания Microsoft выпустила в режиме бета-тестирования пакет Python Tools for Visual Studio (PTVS), предназначенный для обеспечения поддержки языка Python в интегрированной среде разработки Visual Studio 2010. Код пакета разработан в недрах Microsoft и открыт в рамках лицензии Apache 2.0.

Читать дальше →
Всего голосов 154: ↑138 и ↓16 +122
Просмотры 4.8K
Комментарии 72

NumPy, пособие для новичков. Часть 1

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

Первая часть учебника рассказывает об основах работы с NumPy: создании массивов, их атрибутах, базовых операциях, поэлементном применении функций, индексах, срезах, итерировании. Рассматриваются различные манипуляции с преобразованием формы массива, объединение массивов из нескольких и наоборот — разбиение одного на несколько более мелких. В конце мы обсудим поверхностное и глубокое копирование.
Читать дальше →
Всего голосов 69: ↑65 и ↓4 +61
Просмотры 232K
Комментарии 39

Латентно-семантический анализ и поиск на python

Python *Алгоритмы *
Туториал


Недавно Google объявил, что он переходит от поиска по ключевым словам к полностью семантическому поиску. Не знаю, насколько круты алгоритмы поиска у мировых гигантов, но поиск в маленькой песочнице получается довольно семантическим. Конечно, с поиском по более менее крупным объёмам данных уже не всё так радужно, готовить слова надо очень тщательно, но тем не менее.

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

Далее прошу под кат
Всего голосов 47: ↑46 и ↓1 +45
Просмотры 54K
Комментарии 7

Пишем numpy-модуль для ускорения математических функций с помощью SIMD-инструкций

Высокая производительность *Python *Программирование *
Туториал
Из песочницы
Пакеты numpy и scipy предоставляют прекрасные возможности для быстрого решения различных вычислительных задач. Концепция универсальных функций (ufunc), работающих как со скалярными значениями, так и с массивами различных размерностей, позволяет получить высокую производительность при сохранении присущей языку Python простоты и элегантности. Универсальная функция обычно используются для выполнения одной операции над большим массивом данных, что идеально подходит для оптимизации с помощью SIMD-инструкций, однако мне не удалось найти готового решения, основанного на свободном программном обеспечении и позволяющего использовать SIMD для вычисления в numpy таких математических функций, как синус, косинус и экспонента. Реализовывать алгоритмы вычисления этих функций с нуля совсем не хотелось, но к счастью в интернете нашлось несколько свободных библиотек на языке «С». Преодолев лень сомнения, я решил написать собственный numpy-модуль, предлагающий универсальные функции для синуса, косинуса и экспоненты. За подробностями и результатами тестов добро пожаловать под кат.
Пишем свой numpy-модуль!
Всего голосов 34: ↑34 и ↓0 +34
Просмотры 8.9K
Комментарии 4

Питон, смещение тона и Пианопьютер

Python *
Перевод
От переводчика:

Статья, которую я предлагаю вам почитать, не нова — она опубликована аж 29 марта. Но на Реддите ее запостили всего несколько дней назад, да и актуальности своей она точно не потеряла. Интересность ее в том, что автор на простом и коротком примере демонстрирует практическое применение трех больших и популярных библиотек: numpy, scipy и pygame. Про первые две многие слышали, но все больше в контексте научных работ, так что интересно посмотреть на их применение в «обычной» жизни. В конце статьи прекрасная видео-демонстрация результата, хотя бы ее точно стоит посмотреть.

Авторский код сохранен без изменений, несмотря на то, что он оформлен не по PEP-8 и за его валидность я не ручаюсь. Настоящий рабочий код так или иначе есть на ГитХабе, ссылку вы найдете в конце статьи.

Запишите звук, измените тон 50 раз и сопоставьте каждому новому звуку клавишу на клавиатуре компьютера. Получится Пианопьютер!

Читать дальше →
Всего голосов 55: ↑43 и ↓12 +31
Просмотры 16K
Комментарии 17

Звуковые отпечатки: распознавание рекламы на радио

Python *Алгоритмы *
Из песочницы
Из этой статьи вы узнаете, что распознавание даже коротких звуковых фрагментов в зашумленной записи — вполне решаемая задача, а прототип так вообще реализуется за 30 строчек кода на Python. Мы увидим, как тут помогает преобразование Фурье, и наглядно посмотрим, как работает алгоритм поиска и сопоставления отпечатков. Статья будет полезна, если вы сами хотите написать подобную систему, или вам интересно, как она может быть устроена.
Читать дальше →
Всего голосов 30: ↑29 и ↓1 +28
Просмотры 33K
Комментарии 26

Стабилизация таймлапс-видео на калькуляторе (IPython+OpenCV)

Ненормальное программирование *Python *Обработка изображений *
Из песочницы
Подобно многим стихийным и сезонным любителям астрофотографии, в этом августе я ловил ночью Персеиды. Улов небольшой есть, но сейчас не о нём, а о том, что побочным результатом такого лова стала серия фотографий, которые напрашивались на то, чтобы сделать из них таймлапс. Но вот незадача: установка камеры оказалась не столь уж жесткой, как хотелось бы, и между кадрами появилось небольшое смещение. Попытался исправить его плагином дешейкинга в VirtualDub, но результаты не порадовали. Тогда было решено сделать свой велосипед: подробнее о результатах и том как они получены — под катом.
Читать дальше →
Всего голосов 20: ↑20 и ↓0 +20
Просмотры 12K
Комментарии 0

Некоторые репозитории в помощь изучающим и преподающим Python и машинное обучение

Python *Программирование *Машинное обучение *


Привет сообществу!

Я Юрий Кашницкий, раньше делал здесь обзор некоторых MOOC по компьютерным наукам и искал «выбросы» среди моделей Playboy.

Сейчас я преподаю Python и машинное обучение на факультете компьютерных наук НИУ ВШЭ и в онлайн-курсе сообщества по анализу данных MLClass, а также машинное обучение и анализ больших данных в школе данных одного из российских телеком-операторов.

Почему бы воскресным вечером не поделиться с сообществом материалами по Python и обзором репозиториев по машинному обучению… В первой части будет описание репозитория GitHub с тетрадками IPython по программированию на языке Python. Во второй — пример материала курса «Машинное обучение с помощью Python». В третьей части покажу один из трюков, применяемый участниками соревнований Kaggle, конкретно, Станиславом Семеновым (4 место в текущем мировом рейтинге Kaggle). Наконец, сделаю обзор попавшихся мне классных репозиториев GitHub по программированию, анализу данных и машинному обучению на Python.

Читать дальше →
Всего голосов 26: ↑24 и ↓2 +22
Просмотры 62K
Комментарии 11

Numpy и многопроцессорность

Python *Data Mining *Big Data *
Из песочницы
Сейчас уже многие используют библиотеку numpy в своих python-программах, поскольку она заметно ускоряет работу с данными и выполнение математических операций. Однако во многих случаях numpy работает в разы медленнее, чем она может… потому что использует только один процессор, хотя могла бы использовать все, что у вас есть.
Читать дальше →
Всего голосов 22: ↑21 и ↓1 +20
Просмотры 20K
Комментарии 14

Машинное обучение от Octave\Matlab к Python

Python *Машинное обучение *Matlab *
Решил я познакомится с такой интересной для меня областью, как Machine learning. После непродолжительных поисков я обнаружил достаточно популярный курс Стэнфордского университета Machine learning. В нем рассказываются основы и дается широкое представление о machine learning, datamining, and statistical pattern recognition. Был для меня в этом курсе небольшой минус как Python программиста- домашние задания надо было выполнять на Octave\Matlab. В итоге я не пожалел, что получил представления о новом языке программирования, но как учебный пример для более тесного знакомства с соответствующими библиотеками решил переписать домашние задания на Python. То что получилось лежит на GitHub тут.

Читать дальше →
Всего голосов 21: ↑17 и ↓4 +13
Просмотры 21K
Комментарии 17

D std.ndslice как замена Python Numpy

Python *Программирование *Математика *D *
Recovery mode
Предисловие: Я пишу на Python более 6 лет и могу назвать себя профессионалом в этом языке. Недавно я даже написал о нем книгу. Однако последние 8 месяцев я переключился на D и уже 4 месяца активно участвую в разработке этого языка по части расширения стандартной библиотеки Phobos. Так же я участвовал в код-ревью модуля std.ndslice о котором и пойдет речь.

std.ndslice так же как и Numpy предназначен для работы с многомерными массивами. Однако в отличие от Numpy ndslice имет крайне низкий оверхэд так как базируется на ranges (диапазонах), которые используются в штатной библиотеке повсеместно. Ranges позволяют избежать лишние процедуры копирования, а так же позволяют красиво организовать ленивые вычисления.

В этой статье мне хотелось бы рассказать о том какие преимущества std.ndslice дает по сравнению с Numpy.
Читать дальше →
Всего голосов 28: ↑21 и ↓7 +14
Просмотры 12K
Комментарии 24

Есть две функции

Python *Алгоритмы *Математика *
Привет

Есть две булевы функции n аргументов, одна — константная, другая — сбалансированная. На какую сам сядешь, на какую фронтендера посадишь? Вот только функции неизвестны, а вызвать их разрешается лишь один раз.

Если не знаешь, как решить подобную задачу, добро пожаловать под кат. Там я расскажу про квантовые алгоритмы и покажу как их эмулировать на самом народном языке — на Python.
Hello darkness, my old friend
Всего голосов 121: ↑115 и ↓6 +109
Просмотры 50K
Комментарии 61

Google выпустила TensorFlow 1.0

Разработка мобильных приложений *Google API *Математика *Машинное обучение *TensorFlow *

TensorFlow 1.0 с моделью нейросети нового поколения Inception поддерживает аппаратное ускорение на DSP Hexagon в мобильных процессорах Qualcomm Snapdradon 820. Скорость работы приложений вроде Prism и программ машинного зрения увеличится в 8 и более раз, а энергопотребление снизится в 4 раза. Фильтры от нейросетей можно будет накладывать на видео почти в реальном времени

На первой конференции для разработчиков TensorFlow Dev Summit компания Google объявила о выходе мажорного релиза библиотеки TensorFlow 1.0, обратно несовместимого с предыдущими версиями. Это значит, что программы, работавшие на версиях TensorFlow 0.n, могут не работать на версии TensorFlow 1.0. Разработчики из Google говорят, что изменения в API были необходимы «для обеспечения внутренне согласованных программных интерфейсов», и больше такого не повторится: ломающих обратную совместимость изменений в будущих версиях 1.x не планируется. Сейчас разработчикам рекомендуется изучить руководство по миграции и использовать скрипт для преобразования.

TensorFlow — свободная программная библиотека для машинного обучения в применении к различным видам задач на восприятие и понимание языка. В данный момент она используется в научно-исследовательской работе и в десятках коммерческих продуктов Google, в том числе в Google Search, Gmail, Photos, Youtube, Translate, Assistant, а так же всевозможных системах распознавания, в том числе распознавания речи.
Читать дальше →
Всего голосов 33: ↑30 и ↓3 +27
Просмотры 27K
Комментарии 17

Модель колебательного звена с применением символьного и численного решений дифференциального уравнения на SymPy и NumPy

Python *

Задача


В статья использованы возможности пакета SymPy совместно с пакетом NumPy. Всё сводиться к преобразованию символьных выражений в функции способные работать с другими модулями Python.

Процесс решения дифференциальных уравнений становиться наглядным и хорошо контролируемым на каждом этапе вычислений. Следует отметить, что колебательное звено в разных интерпретациях обсуждается в сетях [1,2]. Например, в [3] приводиться модель колебательного звена с подробным исследованием переходных процессов.

Надеюсь, что подобные исследования колебательного звена на Python найдут своих сторонников.
Читать дальше →
Всего голосов 22: ↑16 и ↓6 +10
Просмотры 7.7K
Комментарии 5

Моделирование переходных процессов при коммутации электрической цепи средствами Python

Python *


Зачем нужно учитывать переходные процессы


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

С другой стороны, переходные процессы находят практическое применение, например, в различные рода электронных генераторах, в схемах электроники и автоматики.

В сети много публикаций по данной теме [1,2,3], однако большая их часть содержит описания переходных процессов, основанное на методах аналитического решения соответствующих уравнений. Численные методы используются значительно реже, причём большая часть таких публикаций посвящена описанию метода численного решения дифференциального уравнения.

Учитывая хорошо развитые в библиотеке SciPy численные методы, привожу пример математического моделирования переходных процессов при коммутации в электрических цепях средствами данной библиотеки.
Читать дальше →
Всего голосов 11: ↑8 и ↓3 +5
Просмотры 12K
Комментарии 0

PyTorch — ваш новый фреймворк глубокого обучения

Python *Программирование *Машинное обучение *

Gotta Torch?


PyTorch — современная библиотека глубокого обучения, развивающаяся под крылом Facebook. Она не похожа на другие популярные библиотеки, такие как Caffe, Theano и TensorFlow. Она позволяет исследователям воплощать в жизнь свои самые смелые фантазии, а инженерам с лёгкостью эти фантазии имплементировать.


Данная статья представляет собой лаконичное введение в PyTorch и предназначена для быстрого ознакомления с библиотекой и формирования понимания её основных особенностей и её местоположения среди остальных библиотек глубокого обучения.

Fire walk with me
Всего голосов 66: ↑64 и ↓2 +62
Просмотры 142K
Комментарии 20

Мульти-классификация Google-запросов с использованием нейросети на Python

Python *Семантика *Математика *Машинное обучение *
Прошло уже достаточно времени с момента публикации моей первой статьи на тему обработки естественного языка. Я продолжал активно исследовать данную тему, каждый день открывая для себя что-то новое.

Сегодня я бы хотел поговорить об одном из способов классификации поисковых запросов, по отдельным категориям с помощью нейронной сети на Keras. Предметной областью запросов была выбрана сфера автомобилей.

За основу был взят датасет размером ~32000 поисковых запросов, размеченных по 14ти классам: Автоистория, Автострахование, ВУ (водительское удостоверение), Жалобы, Запись в ГИБДД, Запись в МАДИ, Запись на медкомиссию, Нарушения и штрафы, Обращения в МАДИ и АМПП, ПТС, Регистрация, Статус регистрации, Такси, Эвакуация.
Читать дальше →
Всего голосов 22: ↑20 и ↓2 +18
Просмотры 12K
Комментарии 6