Вышел PyTorch 1.11 — обновленный фреймворк машинного обучения для Python
2026-02-21 17:46 Diff

Команда PyTorch выкатила новую версию своего ML-фреймворка, которая включает более 3400 свежих коммитов от 434 контрибуторов. Также разработчики представили бета-версии двух библиотек — это TorchData, предназначенная для создания производительных конвейеров данных, и functorch, добавляющая составные преобразования в PyTorch.

В Pytorch 1.11 пофиксили некоторые баги, «задепрекейтили» устаревшие методы, а некоторые и вовсе удалили. Например, отключили torch.hub.import_module, который когда-то по ошибке стал общедоступным.

Теперь в Python API можно копировать все атрибуты объектов Tensor, а не только простые свойства:

a = torch.rand(2) a.foo = 3 torch.save(a, "bar") b = torch.load("bar") print(b.foo) # В предыдущих версиях вызовет AttributeError: "Tensor" object has no attribute "foo" # В версии 1.11 даст результат: 3

Аргумент Steps в torch.linspace и torch.logspace стал обязательным:

#Теперь нужно писать так: a = torch.linspace(1, 10, steps=100) # Старый способ тоже сработает, но вызовет deprecation warning a = torch.linspace(1, 10) # UserWarning: Not providing a value for linspace's steps is deprecated # в последующих релизах вызовет runtime error: # (Triggered internally at ../aten/src/ATen/native/RangeFactories.cpp:19

Разработчики расширили возможности по работе с Python API, CUDA и инструментами линейной алгебры.

Python API. Добавили set_deterministic_debug_mode и get_deterministic_debug_mode, n-мерный эрмитов БПФ, распределения Уишарта. Теперь модули torch и torch.linalg поддерживают более 90% операторов Python Array API, включая torch.from_dlpack для поддержки стандарта DLPACK.

CUDA. Появился Jiterator, который позволяет компилировать редко используемые ядра CUDA в рантайме. Добавили дескриптор cuSPARSE и обновили CSR addmm, addmv_out и nvidia-smi.

Autograd. В PyTorch 1.11 появилась реализация torch.utils.checkpoint, которая не использует повторно используемый autograd. Прямой режим AD (дифференциации алгоритмов) теперь поддерживает большинство операций и включает функцию ctx.save_for_forward, а метод autograd.forward_ad.unpack_dual теперь возвращает именованный кортеж вместо обычного кортежа.

Линейная алгебра. Добавили поддержку прямой дифференциации алгоритмов в torch.linalg.{eig, inverse, householder_product, qr} и torch.*_solve, поддержку прямой и обратной AD в torch.linalg.lstsq, а также расширили диапазон входных данных для linalg.pinv.

Узнать больше о PyTorch 1.11 и новых библиотеках можно в репозитории PyTorch на GitHub.