您现在的位置是:亿华云 > 人工智能
PyTorch 1.11 发布,带来 TorchData 和 functorch 两个新库
亿华云2025-10-08 23:24:14【人工智能】3人已围观
简介现在,您可以在Python API中干净地复制 Tensor 对象上的所有属性,而不仅仅是简单的 Tensor 属性。在 torch.linspace 和 torch.logspace 中,Steps
现在,布带您可以在Python API中干净地复制 Tensor 对象上的个新所有属性,而不仅仅是布带简单的 Tensor 属性。在 torch.linspace 和 torch.logspace 中,个新Steps 参数不再是布带可选的。在 PyTorch 1.10.2 中该参数默认为 100。个新现在,布带它不再是个新一种选择。PyTorch 还删除了错误公开的布带 torch.hub.import_module 函数。不推荐在具有不同维数的个新张量上调用 xT。现在,布带它只接受 0 或 2 维的个新张量。
C++前端标头现在减少为仅包含使用的布带 aten 运算符的子集。现在,个新如果用户包含来自 C++ 前端的布带标头,则可能不会传递包含 aten 运算符。但是,用户可以直接在他们的文件中添加#include <ATen/ATen.h> 以保持包含每个aten 运算符的旧行为。PyTorch 1.11 还删除了 c10::List 和 c10::Dict 移动构造函数的云服务器自定义实现。语义已从“make the moved-from List/Dict empty”变为“keep the moved-from List/Dict unchanged”。
对于CUDA,THCeilDiv 函数和相应的 THC/THCDeviceUtils.cuh 头文件、THCudaCheck 和 THCudaMalloc()、THCudaFree()、THCThrustAllocator.cuh 已被删除。
新特性
对于 Python API,PyTorch 1.11 添加了 set_deterministic_debug_mode 和 get_deterministic_debug_mode,n 维 Hermitian FFT:torch.fft.ifftn 和 torch.fft.hfftn,Wishart 分布到 torch.distributions。PyTorch 为 torch 和 torch.linalg 模块添加了对 Python Array API 标准的初步支持。它实现了 Python Array API 定义的 90% 以上的运算符,包括用于改进 DLPack 支持的 torch.from_dlpack 操作。他们还将 torch.testing 从原型转移到了测试版。
对于Autograd,PyTorch 1.11 有一个新的 torch.utils.checkpoint 实现,它不使用可重入 autograd。转发模式 AD 现在支持大多数操作,并包括 ctx.save_for_forward 函数到 autograd.Function。autograd.forward_ad.unpack_dual 现在将返回一个命名元组而不是普通元组。
线性代数运算支持包括对 torch.linalg.{ eig, inverse, houseer_product, qr} 和 torch.*_solve 的正向 AD 支持。他们还为 torch.linalg.lstsq 添加了前向和后向 AD 支持,并为 linalg.pinv 添加了更广泛的输入。源码下载
对于ONNX,Pytorch 1.11 支持 opset 版本 15,将 nn.Module 调用导出为 ONNX 本地函数,导出 tanhshrink、hardshrink、softshrink、__xor__、isfinite log10 和对角线等新操作。它还支持使用 Apex O2 导出。
对于 Infra (Releng),Pytorch 1.11 增加了对 ROCm 4.3.1、ROCm 4.5.2、CUDA 11.5、CUDA 启用 Bazel 构建、Python 3.10 的支持。
Pytorch 1.11 现在引入了 FlexiBLAS 构建支持、用于 cpp 扩展构建的 IS_LINUX 和 IS_MACOS 全局变量、用于 iOS CMake 构建的 ARC 以及对 IBM z14/15 SIMD 的支持。
新的更新还包括一个实验标志,允许用户指定首选的线性代数库。添加了 linalg.matrix_exp、linalg.cross 和 linalg.diagonal(torch.diagonal 的别名)等操作。
对于 CUDA,新的更新引入了 Jiterator,使用户能够在运行时编译很少使用的b2b供应网 CUDA 内核。cuSPARSE 描述符和更新的 CSR addmm、addmv_out、nvidia-smi 内存和作为本机 Python API 的利用率也已添加。
对于 Vulkan,Pytorch 1.11 增加了对几个 Torch 运算符的支持,例如 torch.cat、torch.nn “.ConvTranspose2d 、torch.permute 、张量索引(at::slice)和torch.clone。新的 Pytorch 迭代还包括基于跟踪的选择性构建功能,通过包含模型使用的运算符来减少移动模型的二进制大小。
点击这里(https://github.com/pytorch/pytorch/releases/tag/v1.11.0)阅读更多。
TorchDataPytorch 还发布了TorchData,这是一个通用模块化数据加载原语库,用于轻松构建灵活且高性能的数据管道。
该产品通过称为“DataPipes”的 Iterable 样式和 Map 样式的构建块实现了可组合的数据加载,这些构建块与 PyTorch 的DataLoader开箱即用。
用户可以连接多个DataPipes,形成一个数据管道,执行所有数据转换。
TorchData 已经为文件打开、文本解析、样本转换、缓存、混洗和批处理等核心功能实现了 50 多个 DataPipes。想要连接到云提供商(例如 Google Drive 或 AWS S3)的用户可以使用 fsspec 和 iopath DataPipes 来实现。每个 IterDataPipe 和 MapDataPipe 在文档中都有详细的解释和使用示例。
在此版本中,一些 PyTorch 域库已将其数据集迁移到 DataPipes。TorchText 的流行数据集是使用 DataPipes 实现的,其 SST-2 二进制文本分类教程的一部分展示了如何使用 DataPipes 为模型预处理数据。
functorchFunctorch受到Google JAX的启发,旨在提供可组合的 vmap(矢量化)和 autodiff 转换,这些转换可以很好地与 PyTorch 模块和 PyTorch autograd 配合使用。
该库可以帮助用户计算每个样本的梯度,在单台机器上运行模型集合,在 MAML 的内循环中将任务批处理在一起,以及计算 Jacobians 和 Hessians 以及批处理。
很赞哦!(69)
相关文章
- 2、根据用户基础选择访问提供程序。由于互联问题的存在,接入商的选择也非常重要,如果用户群主要在联通,尽量选择联通接入较好的接入商,如果用户群主要在电信,那么选择电信接入较好的接入商。如果用户组位于国家/地区,则选择更好的访问提供程序进行交互。
- GenAI将推动数据中心的规模增长
- 数据中心行业将迎来繁荣,但成本将飙升
- 新华三HPE Alletra 5000新一代混闪存储系统重磅发布
- 3、商标域名一经注册,就可以作为域名裁决过程中的主要信息之一。这可以大大增加公司被抢注的相关域名胜诉的机会。
- 数据中心的电力监控和计量解决方案
- 开放计算标准工作委员会(OCTC)成立推动数据中心领先技术惠及千行百业
- 为什么不能只用可再生能源为数据中心供电?
- 为什么喜欢国外注册域名?国外注册域名注意什么?
- 算力“神器”加持,第四代英特尔至强可扩展处理器为本土业务创新加速