pytorch v0.3.0修复Bug汇总
[attach]33[/attach] [b]Torch[/b] [list] []修复CUDA延迟初始化,以便在调用时不触发torch.manual_seed(而是在CUDA初始化时调用排队并运行)[/] [/list]
[b]张量[/b] [list] []如果x是2D,x[[0, 3],]则需要触发高级索引。尾随的逗号不再需要,你可以做x[[0, 3]][/] []x.sort(descending=True)用于错误地拒绝张量。修正了在参数检查逻辑中允许这个错误。[/] []numpy输入的张量构造函数: torch.DoubleTensor(np.array([0,1,2], dtype=np.float32))火炬现在将数组的内容复制到适当类型的存储中。如果类型匹配,它将共享底层数组(no-copy),用等价的语义来用另一个张量初始化一个张量。在CUDA上,torch.cuda.FloatTensor(np.random.rand(10,2).astype(np.float32))现在将通过复制工作。[/] []ones_like而zeros_like现在创建相同的设备上张量与原张量[/] [] torch.multinomial在CPU上将重新形成prob_dist就地输入。修正了这个问题,以确保prob_dist调用后输入的形状不变multinomial[/] []expand并expand_as允许扩展一个空张量到另一个空张量[/] []当[..., None, ...]被赋予时(即,在指定索引中的新轴放置),PyTorch与NumPy具有不同的行为。在所有情况下这与NumPy一致。[/] []修复指数分布实现从不采样无穷大 - cuRAND返回(0,1][/] []torch的.HalfTensor支持numpy()和torch.from_numpy[/] []添加额外的大小检查torch.scatter[/] []修复torch.tril和torch.triuGPU上的存储偏移张量(将返回不正确的结果)。[/] []修复CUDA qr分解中的内存泄漏[/] []修复THCUNN内核中的流识别问题[/] []修复kwargs解析torch.topk[/] []固定random_在CPU(以前的最大值为2 ^ 32)的DoubleTensor和LongTensor[/] []修正ZeroDivisionError: float division by zero打印某些张量时[/] []torch.gels当m > n在CPU上发生截断错误并返回不正确的结果时。固定。[/] []在tensor.numpy()中添加一个检查,检查是否没有传递位置参数[/] []在将张量移至CUDA固定内存之前,添加了一个检查以确保它是 contiguous[/] []any并all在CPU上的空张量(以前出错)[/] []修复symeig大型矩阵的CUDA。缺点是没有足够的空间分配给工作区,导致一些未定义的行为。[/] []改进的数值稳定性torch.var,并torch.std通过使用维尔福德的算法[/] []随机数生成器返回uniform具有不一致边界的样本(在cpu实现中不一致并运行到cublas bug)。现在,所有uniform采样的数字将[0, 1)在所有类型和设备的范围内返回[/] []修复torch.svd大型CUDA张量中的不段错误(修正了岩浆绑定中的溢出错误)[/] []允许空索引张量index_select(而不是错误)[/] []在此之前eigenvector=False,symeig为特征向量返回一些未知值。现在我们把它们归零。[/] [/list]
[b]sparse[/b]
修复了在cadd中稀疏张量的合并coalesced计算错误 修复.type()不转换索引张量。 * 修复在角落情况下GPU上的稀疏张量聚合
autograd
修复了在使用requires_grad = False的叶变量上向后调用时的崩溃问题 修正type()非默认GPU输入的变量。 当torch.norm返回时0.0,渐变是NaN。我们现在使用梯度0.0,所以梯度是0.0。 使用高级索引和更高阶梯度修正正确性问题 torch.prod由于类型错误的原因,GPU的落后是失败的。 先进的变量索引现在允许索引是一个LongTensor支持的变量 * Variable.cuda()和Tensor.cuda()在kwargs选项中是一致的
Optim
* torch.optim.lr_scheduler现在默认导入。
NN
现在支持从nn.Module的转发函数返回字典(用于引发错误) 什么时候register_buffer("foo", ...)被调用,并且self.foo已经存在,那么不是默默地失败,现在引发一个KeyError 修复了缺少_data_ptrs属性的旧RNN/LSTM检查点的加载。 nn.Embedding使用该max_norm选项时出现严重错误。这现在已经修复了。 当使用该max_norm选项时,传入的索引被写入(由底层实现)。为了解决这个问题,将索引的克隆传递给renorm内核。 F.affine_grid现在可以采取非连续的投入 EmbeddingBag现在可以接受1D和2D输入。 在CuDNN BatchNorm中,批次大于131070的CuDNN错误解决方法 修复nn.init.orthogonal在行<cols时正确返回正交向量 如果BatchNorm总共只有1每个通道的值,则在训练模式下产生错误。 使cuDNN绑定尊重当前的cuda流(以前引起不连贯的错误) 当gradOutput是零跨度张量时,修复grid_sample 当反射填充超出张量界限时修复分段错误。 如果LogSoftmax只有一个元素,-inf则返回。现在这个正确的返回0.0 修复pack_padded_sequence接受任意大小的输入(不只是3D输入) 检测cuDNN RNN flatten_parameters中的指针别名,并避免该路径。 固定ELU更高阶梯度时适用 解决半精确度的CuDNN RNN错误 * 防止数值的问题poisson_nll_loss时,log_input=False通过增加一个小小量
分布式和多GPU
只允许kwargs输入DataParallel。这曾经失败:n = nn.DataParallel(Net()); out = n(input=i) DistributedDataParallel在python2中正确计算num_samples 当使用每个进程1-GPU时,修复DistributedDataParallel的情况。 修复了DataParallel以指定不包含GPU-0的GPU 分布式数据并行的退出不会出错,守护进程标志被设置。 修复DistributedDataParallel中的一个错误,当模型没有时buffers(以前引起非连贯错误) 修复__get_state__功能DistributedDataParallel(没有返回) 当GIL和CudaFreeMutex互相挨饿时,修复NCCL绑定中的死锁
其他
model.zoo.load_url现在首先尝试使用requests library,然后回落到urllib 解决错误,当defaultcollate传递的集合numpy.str
用户评论
更多相关好文
-
微信公众号文章/菜单添加小程序时路径如何获取? 2021-12-22
-
如何轻松获取微信小程序路径path? 2021-12-22
-
cannot import name 'CUDA_HOME' from 'mmcv.utils' 2021-12-05
-
vgg的loss一轮达到ln(1/n)阈值,如何解决 2021-11-21
-
如何下载使用utils库 2021-10-27
热门文章
-
cannot import name 'CUDA_HOME' from 'mmcv.utils' 2021-12-05
-
vgg的loss一轮达到ln(1/n)阈值,如何解决 2021-11-21
-
如何下载使用utils库 2021-10-27
-
pytorch调用geforce rtx 3060 2021-10-24
-
pytorch中如何实现多模型的并联 2021-09-15
栏目最新文章
公告提示
- pytorch中文文档
- pytorch官方文档
提交评论