torch

torch

LSTM在哪里?

pytorch想念成都的美食 回复了问题 • 2 人关注 • 1 个回复 • 279 次浏览 • 2018-01-30 02:09 • 来自相关话题

pytorch如何在两个网络之间共享权重?

pytorch想念成都的美食 回复了问题 • 2 人关注 • 1 个回复 • 466 次浏览 • 2018-01-30 02:02 • 来自相关话题

如何把这两个tensor合并成一个?

pytorch想念成都的美食 回复了问题 • 3 人关注 • 2 个回复 • 387 次浏览 • 2018-01-30 01:58 • 来自相关话题

PYTORCH 使用CUDA

pytorchxus 回复了问题 • 2 人关注 • 1 个回复 • 324 次浏览 • 2018-01-25 23:26 • 来自相关话题

ImportError: dlopen: cannot load any more object with static TLS

回复

pytorch紫林落雪 发起了问题 • 1 人关注 • 0 个回复 • 236 次浏览 • 2018-01-16 15:48 • 来自相关话题

pytorch 如何把Variable转换成numpy?

pytorch匿名用户 回复了问题 • 2 人关注 • 5 个回复 • 562 次浏览 • 2018-01-12 00:54 • 来自相关话题

pytorch使用torch.save()保存大文件非常慢是什么原因?

pytorchsuke 回复了问题 • 2 人关注 • 1 个回复 • 206 次浏览 • 2018-01-11 15:00 • 来自相关话题

Pytorch运行出现RuntimeError: input is not contiguous

pytorchgolemz 回复了问题 • 2 人关注 • 1 个回复 • 1120 次浏览 • 2018-01-11 10:21 • 来自相关话题

Pytorch v0.3.0版本发布--pytorch性能优化提速,支持ONNX,高阶梯度以及SparseAdam优化器

pytorchptorch 发表了文章 • 0 个评论 • 200 次浏览 • 2017-12-13 22:12 • 来自相关话题

Pytorch v0.3.0版本发布--pytorch性能优化提速,支持ONNX,高阶梯度以及SparseAdam优化器

pytorch v0.3.0修复Bug汇总

pytorchptorch 发表了文章 • 0 个评论 • 140 次浏览 • 2017-12-13 22:08 • 来自相关话题

Torch
修复CUDA延迟初始化,以便在调用时不触发torch.manual_seed(而是在CUDA初始化时调用排队并运行)

张量
如果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调用后输入的形状不变multinomialexpand并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固定内存之前,添加了一个检查以确保它是 contiguousany并all在CPU上的空张量(以前出错)修复symeig大型矩阵的CUDA。缺点是没有足够的空间分配给工作区,导致一些未定义的行为。改进的数值稳定性torch.var,并torch.std通过使用维尔福德的算法随机数生成器返回uniform具有不一致边界的样本(在cpu实现中不一致并运行到cublas bug)。现在,所有uniform采样的数字将[0, 1)在所有类型和设备的范围内返回修复torch.svd大型CUDA张量中的不段错误(修正了岩浆绑定中的溢出错误)允许空索引张量index_select(而不是错误)在此之前eigenvector=False,symeig为特征向量返回一些未知值。现在我们把它们归零。

sparse

*   修复了在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
*   解决错误,当default_collat​​e传递的集合numpy.str_ 查看全部
0.3_.jpg

Torch
  • 修复CUDA延迟初始化,以便在调用时不触发torch.manual_seed(而是在CUDA初始化时调用排队并运行)


张量
  • 如果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为特征向量返回一些未知值。现在我们把它们归零。


sparse

*   修复了在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
*   解决错误,当default_collat​​e传递的集合numpy.str_

pytorch使用torch.save()保存大文件非常慢是什么原因?

回复

pytorchsuke 回复了问题 • 2 人关注 • 1 个回复 • 206 次浏览 • 2018-01-11 15:00 • 来自相关话题

如何将numpy数组转换为Torch张量

回复

pytorch匿名用户 发起了问题 • 1 人关注 • 0 个回复 • 268 次浏览 • 2017-07-23 23:11 • 来自相关话题

torch类似argmax的函数是哪个?

回复

pytorchAlso 回复了问题 • 1 人关注 • 1 个回复 • 515 次浏览 • 2017-07-12 22:14 • 来自相关话题

在不同文件夹引入torch,出现错误

回复

pytorchjack 发起了问题 • 1 人关注 • 0 个回复 • 217 次浏览 • 2017-07-03 22:02 • 来自相关话题

pytorch中有没有类似目前版本的torch中的concattable 或者 paralleltable 的表?

回复

pytorch匿名用户 回复了问题 • 1 人关注 • 1 个回复 • 293 次浏览 • 2017-06-08 22:17 • 来自相关话题

在保存网络之前清理渐变的最简单方法是什么?

回复

pytorchptorch 回复了问题 • 1 人关注 • 2 个回复 • 221 次浏览 • 2017-06-04 23:42 • 来自相关话题

python引入torch时报错是什么原因?

回复

pytorch匿名用户 回复了问题 • 1 人关注 • 2 个回复 • 1713 次浏览 • 2017-06-02 23:28 • 来自相关话题

Ubuntu安装Torch教程,Ubuntu中如何安装Torch?

pytorchptorch 发表了文章 • 0 个评论 • 346 次浏览 • 2017-06-09 23:44 • 来自相关话题

一. Torch是什么?

Torch是一个广泛支持机器学习算法的科学计算框架,由于采用简单而快速的脚本语言LuaJIT和一个底层的C/CUDA实现,Torch易于使用且高效。







二. Torch的版本支持
最新版的Torch支持Ubuntu,Fedora20,Fedora22,Centos7。但不支持Fedora21,Centos6。
 
三. ubuntu安装Torch# in a terminal, run the commands
git clone https://github.com/torch/distro.git ~/torch --recursive
cd ~/torch; bash install-deps;
./install.sh有时候在执行bash install-deps安装依赖时并未出错,但执行./install.sh时会出一些错误,解决办法我。
T做了一个汇总,希望能帮助大家:
 
五. torch安装问题汇总
1. 错误类似于:nvcc error : '***' died due to signal解决方案:sudo ./install.sh

错误2Error: Build error: Failed building.
Updating manifest for /root/torch/install/lib/luarocks/rocks
fftw3 scm-1 is now built and installed in /root/torch/install/ (license: BSD)
错误3Error: Failed installing dependency: https://raw.githubusercontent. ... .rock - Could not find header file for OPENSSL
No file openssl/evp.h in /usr/local/include
No file openssl/evp.h in /usr/include
You may have to install OPENSSL in your system and/or pass OPENSSL_DIR or OPENSSL_INCDIR to the luarocks command.
Example: luarocks install luacrypto OPENSSL_DIR=/usr/local参照Problem with Torch #86,执行sudo apt-get install -y libssl-dev安装libssl-dev,之后重新安装Torch即可。

错误4:

提示缺少依赖lbase64 ,luacrypto,uuid 等,可直接执行如下代码luarocks install missed-package 查看全部
一. Torch是什么?


Torch是一个广泛支持机器学习算法的科学计算框架,由于采用简单而快速的脚本语言LuaJIT和一个底层的C/CUDA实现,Torch易于使用且高效。

屏幕快照_2017-06-09_下午11.47_.02_.png



二. Torch的版本支持
最新版的Torch支持Ubuntu,Fedora20,Fedora22,Centos7。但不支持Fedora21,Centos6。
 
三. ubuntu安装Torch
# in a terminal, run the commands
git clone https://github.com/torch/distro.git ~/torch --recursive
cd ~/torch; bash install-deps;
./install.sh
有时候在执行bash install-deps安装依赖时并未出错,但执行./install.sh时会出一些错误,解决办法我。
T做了一个汇总,希望能帮助大家:
 
五. torch安装问题汇总
1. 错误类似于:
nvcc error : '***' died due to signal
解决方案:sudo ./install.sh

错误2
Error: Build error: Failed building.
Updating manifest for /root/torch/install/lib/luarocks/rocks
fftw3 scm-1 is now built and installed in /root/torch/install/ (license: BSD)

错误3
Error: Failed installing dependency: https://raw.githubusercontent. ... .rock - Could not find header file for OPENSSL
No file openssl/evp.h in /usr/local/include
No file openssl/evp.h in /usr/include
You may have to install OPENSSL in your system and/or pass OPENSSL_DIR or OPENSSL_INCDIR to the luarocks command.
Example: luarocks install luacrypto OPENSSL_DIR=/usr/local
参照Problem with Torch #86,执行
sudo apt-get install -y libssl-dev
安装libssl-dev,之后重新安装Torch即可。

错误4:

提示缺少依赖lbase64 ,luacrypto,uuid 等,可直接执行如下代码
luarocks install missed-package