Pull to refresh
  • by relevance
  • by date
  • by rating

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

Python *Machine learning *

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

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

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

Читать далее
Total votes 8: ↑7 and ↓1 +6
Views 3.7K
Comments 0

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

ITSumma corporate blog Open source *Python *Software CPU

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

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

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

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

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

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

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

Полистать книгу можно в магазине Amazon (по ссылке выше).
Total votes 41: ↑36 and ↓5 +31
Views 12K
Comments 29

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

Visual Studio *
image

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

Читать дальше →
Total votes 154: ↑138 and ↓16 +122
Views 4.6K
Comments 72

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

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

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

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

Python *Algorithms *
Tutorial


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

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

Далее прошу под кат
Total votes 47: ↑46 and ↓1 +45
Views 50K
Comments 7

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

High performance *Python *Programming *
Sandbox
Tutorial
Пакеты numpy и scipy предоставляют прекрасные возможности для быстрого решения различных вычислительных задач. Концепция универсальных функций (ufunc), работающих как со скалярными значениями, так и с массивами различных размерностей, позволяет получить высокую производительность при сохранении присущей языку Python простоты и элегантности. Универсальная функция обычно используются для выполнения одной операции над большим массивом данных, что идеально подходит для оптимизации с помощью SIMD-инструкций, однако мне не удалось найти готового решения, основанного на свободном программном обеспечении и позволяющего использовать SIMD для вычисления в numpy таких математических функций, как синус, косинус и экспонента. Реализовывать алгоритмы вычисления этих функций с нуля совсем не хотелось, но к счастью в интернете нашлось несколько свободных библиотек на языке «С». Преодолев лень сомнения, я решил написать собственный numpy-модуль, предлагающий универсальные функции для синуса, косинуса и экспоненты. За подробностями и результатами тестов добро пожаловать под кат.
Пишем свой numpy-модуль!
Total votes 34: ↑34 and ↓0 +34
Views 8.4K
Comments 4

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

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

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

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

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

Читать дальше →
Total votes 55: ↑43 and ↓12 +31
Views 15K
Comments 17

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

Python *Algorithms *
Sandbox
Из этой статьи вы узнаете, что распознавание даже коротких звуковых фрагментов в зашумленной записи — вполне решаемая задача, а прототип так вообще реализуется за 30 строчек кода на Python. Мы увидим, как тут помогает преобразование Фурье, и наглядно посмотрим, как работает алгоритм поиска и сопоставления отпечатков. Статья будет полезна, если вы сами хотите написать подобную систему, или вам интересно, как она может быть устроена.
Читать дальше →
Total votes 30: ↑29 and ↓1 +28
Views 32K
Comments 26

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

Abnormal programming *Python *Image processing *
Sandbox
Подобно многим стихийным и сезонным любителям астрофотографии, в этом августе я ловил ночью Персеиды. Улов небольшой есть, но сейчас не о нём, а о том, что побочным результатом такого лова стала серия фотографий, которые напрашивались на то, чтобы сделать из них таймлапс. Но вот незадача: установка камеры оказалась не столь уж жесткой, как хотелось бы, и между кадрами появилось небольшое смещение. Попытался исправить его плагином дешейкинга в VirtualDub, но результаты не порадовали. Тогда было решено сделать свой велосипед: подробнее о результатах и том как они получены — под катом.
Читать дальше →
Total votes 20: ↑20 and ↓0 +20
Views 12K
Comments 0

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

Python *Programming *Machine learning *


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

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

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

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

Читать дальше →
Total votes 26: ↑24 and ↓2 +22
Views 60K
Comments 11

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

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

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

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

Читать дальше →
Total votes 21: ↑17 and ↓4 +13
Views 20K
Comments 17

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

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

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

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

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

Python *Algorithms *Mathematics *
Привет

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

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

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

Development of mobile applications *Google API *Mathematics *Machine learning *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, а так же всевозможных системах распознавания, в том числе распознавания речи.
Читать дальше →
Total votes 33: ↑30 and ↓3 +27
Views 26K
Comments 17

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

Python *

Задача


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

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

Надеюсь, что подобные исследования колебательного звена на Python найдут своих сторонников.
Читать дальше →
Total votes 22: ↑16 and ↓6 +10
Views 7.2K
Comments 5

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

Python *


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


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

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

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

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

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

Python *Programming *Machine learning *

Gotta Torch?


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


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

Fire walk with me
Total votes 66: ↑64 and ↓2 +62
Views 112K
Comments 20

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

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

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

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