На улице ML-специалистов праздник: состоялся крупнейший апдейт NumPy за последние 18 лет
Новости
Команда NumPy выпустила релиз под версией 2.0.0 — первый мажорный релиз с 2006 года. Новых возможностей появилось немерено
603 открытий11К показов
NumPy, популярная Python-библиотека для научных вычислений, получила первое мажорное обновление с 2006 года — NumPy 2.0.0.
Этот апдейт является результатом титанической работы команды разработчиков. Он включает в себя множество нововведений, улучшений производительности и изменений в API, как для Python, так и для C.
Новые функции NumPy 2.0.0
Одной из самых значимых новинок библиотеки стало добавление нового типа данных для строк переменной длины StringDType
, а также нового пространства имен numpy.strings
с высокопроизводительными функциями для обработки строк.
Также в инструмент внедрили поддержку float32
и longdouble
во всех функциях numpy.fft
и соответствие стандарту Array API в основном пространстве имен библиотеки.
Улучшения производительности
Функции сортировки, такие как sort
, argsort
, partition
и argpartition
, были ускорены благодаря использованию библиотек Intel x86-simd-sort и Google Highway.
Потенциально это может привести к значительному бусту производительности, в зависимости от аппаратного обеспечения.
Добавлена также поддержка macOS Accelerate и уменьшен размер бинарных файлов для macOS 14 и новее, что значительно ускоряет линейную алгебру на этих системах.
Улучшения Python API
NumPy 2.0.0 также ввел четкое разделение между публичным и приватным API с новой модульной структурой, что упрощает использование библиотеки.
Было удалено множество устаревших функций и алиасов, что сделало инструмент более понятным для новых пользователей. Кроме того, были добавлены новые функции introspection
, такие как isdtype
и канонические имена для типов данных.
Обновления C API
В новом релизе также был обновлен публичный C API для создания пользовательских типов данных, удалены устаревшие функции и макросы, а также скрыты приватные внутренние части для упрощения расширяемости в будущем.
Добавлены новые функции инициализации: PyArray_ImportNumPyAPI
и PyUFunc_ImportUFuncAPI
.
Обратная совместимость и переход
Несмотря на множество улучшений, некоторые изменения нарушают обратную совместимость.
Это связано с обновлением ABI и изменениями в API, которые могут требовать адаптации существующего кода. Пользователям рекомендуется обновить свои IDE и токены доступа, чтобы избежать проблем совместимости.
Для более подробной информации об обновленной библиотеки, загляните на официальный сайт NumPy.
603 открытий11К показов