
torch
孙ちゃん(颖)♂
一点点前进~
展开
-
Pytorch中Tensor的类型转换
Pytorch中的Tensor常用的类型转换函数(inplace操作):(1)数据类型转换 在Tensor后加 .long(), .int(), .float(), .double()等即可,也可以用.to()函数进行转换,所有的Tensor类型可参考https://pytorch.org/docs/stable/tensors.html(2)数据存储位置转换 CPU张量 ----> GPU张量,使用data.cuda() GPU张量 ----> CPU张量,使用da.原创 2020-08-28 16:21:51 · 2289 阅读 · 0 评论 -
tensor.clone() 和 tensor.detach()
1 tensor.clone()返回tensor的拷贝,返回的新tensor和原来的tensor具有同样的大小和数据类型原tensor的requires_grad=True clone()返回的tensor是中间节点,梯度会流向原tensor,即返回的tensor的梯度会叠加在原tensor上>>> import torch>>> a = torch.tensor(1.0, requires_grad=True)>>> b = a.cl原创 2020-07-20 11:21:33 · 2873 阅读 · 0 评论 -
PyTorch 关于多 GPUs 时的指定使用特定 GPU
PyTorch 中的 Tensor,Variable 和 nn.Module(如 loss,layer和容器 Sequential) 等可以分别使用 CPU 和 GPU 版本,均是采用.cuda()方法.如:import torcha = torch.Tensor(2, 3)if torch.cuda.is_available(): # 判断是否支持 CUDA a.is_cuda # False a = a.cuda() # 放到 GPU 上 a.is_cud..原创 2020-07-18 10:38:50 · 4303 阅读 · 0 评论 -
搞懂深度网络初始化(Xavier and Kaiming initialization)
参数初始化就是这么一个容易被忽视的重要因素,因为不仅使用者对其重要性缺乏概念,而且这些操作都被TF、pytorch这些框架封装了,你可能不知道的是,糟糕的参数初始化是会阻碍复杂非线性系统的训练的。本文以MNIST手写体数字识别模型为例来演示参数初始化对模型训练的影响。点击这里查看源码。Xavier Initialization 早期的参数初始化方法普遍是将...原创 2020-01-06 16:50:24 · 4063 阅读 · 1 评论