![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Pytorch
桃汽宝
这个作者很懒,什么都没留下…
展开
-
梯度累加
梯度累加转载 2021-04-15 09:25:58 · 229 阅读 · 0 评论 -
torch.gather
官网解释torch.gather(input, dim, index, *, sparse_grad=False, out=None) → TensorParameters:input (Tensor) – the source tensordim (int) – the axis along which to indexindex (LongTensor) – the indices of elements to gather例子>>> t = torch.Tensor(原创 2021-03-08 18:10:50 · 100 阅读 · 0 评论 -
python len()
返回的是张量的行>>> c = torch.rand(87654,3)>>> print(len(c))87654原创 2021-02-02 12:54:14 · 584 阅读 · 0 评论 -
Bert 输出及例子
from transformers import AutoTokenizer, AutoModeltokenizer = AutoTokenizer.from_pretrained("bert-base-chinese")Downloading: 100%|██████████████████████████████████████████████████████████████████████████████████████████████████████████| 624/624 [00:00<原创 2021-01-27 14:36:10 · 3464 阅读 · 0 评论 -
Pytorch parameter与buffer
Pytorch parameter与buffer模型保存Parameter和bufferParameterbuffer转载自知乎原文链接:https://zhuanlan.zhihu.com/p/89442276模型保存在 Pytorch 中一种模型保存和加载的方式如下:# savetorch.save(model.state_dict(), PATH)# loadmodel = MyModel(*args, **kwargs)model.load_state_dict(torch.lo转载 2020-10-23 15:22:57 · 310 阅读 · 0 评论 -
Pytorch torch.range()&torch.arange()
torch.range(start=1, end=6) 的结果是会包含end的,创建的tensor的类型为float32。torch.arange(start=1, end=6)的结果并不包含end,创建的tensor的类型为int64。>>> y=torch.range(1,6)>>> ytensor([1., 2., 3., 4., 5., 6.])>>> y.dtypetorch.float32>>> z=torc原创 2020-10-23 09:10:42 · 6277 阅读 · 0 评论 -
Pytorcg torch.triu
torch.triu(input, diagonal=0, out=None)torch.triu(input, diagonal=0, out=None) → Tensor返回矩阵上三角部分,其余部分定义为0。Parameters:input (Tensor) – the input tensordiagonal (int, optional) – the diagonal to considerout (Tensor, optional) – the output tensor如果dia转载 2020-10-22 15:53:45 · 362 阅读 · 0 评论 -
Pytorch repeat
repeat(*sizes)repeat 相当于一个broadcasting的机制沿着指定的维度重复tensor。不同与expand(),本函数复制的是tensor中的数据。import torchimport torch.nn.functional as Fimport numpy as npa = torch.Tensor(128,1,512)B = a.repeat(1,5,1)print(B.shape)torch.Size([128, 5, 512])...转载 2020-10-22 15:42:36 · 90 阅读 · 0 评论 -
Pytorch .masked_fill_()
masked_fill_(mask, value)掩码操作用value填充tensor中与mask中值为1位置相对应的元素。mask的形状必须与要填充的tensor形状一致。a = torch.randn(5,6)x = [5,4,3,2,1]mask = torch.zeros(5,6,dtype=torch.float)for e_id, src_len in enumerate(x): mask[e_id, src_len:] = 1mask = mask.to(device转载 2020-10-22 15:15:24 · 731 阅读 · 0 评论 -
Pytorch torch.max(和nn.Softmax函数的dim相同)
官方解释torch.max(input, dim, max=None, max_indices=None) -> (Tensor, LongTensor)返回输入张量给定维度上的最大值,并同时返回每个最大值的位置索引。参数:input (Tensor) – 输入张量dim (int) – 指定的维度max (Tensor, optional) – 结果张量,包含给定维度上的最大值max_indices (LongTensor, optional) – 结果张量,包含给定维度上每个最大值原创 2020-07-23 15:25:36 · 875 阅读 · 1 评论 -
Pytorch tensor.select
Pytorch tensor.select官方解释代码举例官方解释select(dim, index)按index中选定的维度对tensor进行切片。例如,tensor.select(0, index)等价于tensor[index]tensor.select(2, index)等价于tensor[:,:,index](个人理解,dim是几,等价时[]里就有几个冒号)代码举例>>> q = torch.rand(2, 3, 4)>>> print(原创 2020-07-23 14:11:59 · 3891 阅读 · 1 评论 -
Pytorch nn.MaxPool1d; nn.functional.max_pool1d
class torch.nn.MaxPool1d(kernel_size, stride=None, padding=0, dilation=1, return_indices=False, ceil_mode=False)torch.nn.functional.max_pool1d(input, kernel_size, stride=None, padding=0, dilation=1, ceil_mode=False, return_indices=False)参数:kernel_size转载 2020-07-22 20:11:27 · 5417 阅读 · 0 评论 -
Pytorch tf.nn.functional.softmax(x,dim = -1)对参数dim的理解
torch.nn.functional.Softmax(input,dim=None)tf.nn.functional.softmax(x,dim)中的参数dim是指维度的意思,设置这个参数时会遇到0,1,2,-1等情况。一般会有设置成dim=0,1,2,-1的情况。准备工作:先随机生成一个(2,2,3)的矩阵,两个维度的(2,3)矩阵。import torchimport torch.nn.functional as Finput = torch.randn(2,2,3))print(in转载 2020-07-16 00:00:08 · 2393 阅读 · 3 评论 -
torch.nn.Conv2d
class torch.nn.Conv2d(in_channels, out_channels, kernel_size, stride=1, padding=0, dilation=1, groups=1, bias=True)input: (N,C_in,H_in,W_in)output: (N,C_out,H_out,W_out)Hout=floor((Hin+2padding[0]−dilation[0](kernerlsize[0]−1)−1)/stride[0]+1)H_{out}=fl转载 2020-07-22 15:49:36 · 112 阅读 · 0 评论 -
迁移学习 特征提取&微调
迁移学习 特征提取&微调迁移学习特征提取微调迁移学习迁移学习是把预训练好的模型迁移到新的任务上。在神经网络迁移学习中,有两个应用场景:特征提取和微调特征提取特征提取:冻结除了全连接层之外的左右网络的权重。最后一个全连接层被替换为具有随机权重的新层,并且仅训练该层。在特征提取中,可以在预先训练好的网络结构后,修改或添加一个简单的分类器,将源任务上的预先训练好的网络作为另一个目标任务的特征提取器,只对最后增加的分类器参数进行重新学习,而预先训练好的网络参数不会被修改或冻结。微调微调:使原创 2020-06-12 12:02:01 · 3767 阅读 · 0 评论 -
Pytorch——torch.manual_seed(), torch.cuda.manual_seed()
torch.manual_seed(args.seed)为CPU设置种子用于生成随机数,以使得结果是确定的if args.cuda: torch.cuda.manual_seed(args.seed)为当前GPU设置随机种子;如果使用多个GPU,应该使用以下代码为所有的GPU设置种子。torch.cuda.manual_seed_all()使用同样的随机初始化种子可以保证每次初始化都相同...转载 2020-06-08 16:47:05 · 713 阅读 · 0 评论 -
Pytorch nn.MaxPool2d 单括号和双括号输入
Pytorch nn.MaxPool2d 单括号和双括号输入定义:参数:计算:代码:代码1:代码2:对代码1的理解:定义:class torch.nn.MaxPool2d(kernel_size, stride=None, padding=0, dilation=1, return_indices=False, ceil_mode=False)参数:1、kernel_size(int or tuple) - max pooling的窗口大小2、stride(int or tuple, optio原创 2020-06-03 18:39:18 · 678 阅读 · 0 评论 -
Pytorch torch.empty(a, b) torch.rand(a, b)
Dive-into-DL-pytorch—2.2 数据操作torch.empty(a, b)torch.rand(a, b)torch.empty(a, b)创建一个axb的未初始化的Tensor>>> import torch>>> x = torch.empty(5, 3)>>> print(x)tensor([[ 0.0000e+00, -0.0000e+00, 1.0970e+32], [-1.0845e-19,原创 2020-06-03 16:34:00 · 861 阅读 · 0 评论 -
torch.clamp
torch.clamp左右夹紧左侧夹紧右侧夹紧举例左右夹紧torch.clamp(input, min, max, out=None) → Tensor将输入input张量每个元素的夹紧到区间 [min,max],并返回结果到一个新张量。操作定义如下: | min, if x_i < miny_i = | x_i, if min <= x_i <= max...原创 2020-03-04 19:23:43 · 795 阅读 · 0 评论 -
torch.cuda.synchronize()
torch.cuda.synchronize()torch.cuda.synchronize()测试时间的代码代码1代码2代码3torch.cuda.synchronize()等待当前设备上所有流中的所有核心完成。测试时间的代码代码1start = time.time()result = model(input)end = time.time()代码2torch.cuda.sy...转载 2020-03-04 13:01:21 · 26773 阅读 · 6 评论 -
Pytorch expand_as()函数
Pytorch expand_as函数;expand_as函数expand()expand_as()expand()expand(*sizes)将张量扩展为和参数sizes一样的大小。【参数】:sizes(torch.Size or int):需要扩展的大小。必须是由 ints 组成的 tuple 。>>> x = torch.Tensor([[1], [2], [...原创 2020-03-05 13:58:58 · 16341 阅读 · 0 评论 -
pytorch view函数
pytorch view函数viewviewview(*args) → Tensor返回一个有相同数据但大小不同的tensor。 返回的tensor必须有与原tensor相同的数据和相同数目的元素,但大小可以不同。一个tensor必须是连续的contiguous()才能被查看。>>> x = torch.randn(4, 4)>>> print(x...原创 2020-03-05 13:38:31 · 421 阅读 · 0 评论 -
pytorch nn.Linear()
pytorch nn.Linearnn.Linear()nn.Linear()class torch.nn.Linear(in_features, out_features, bias=True)对输入数据做线性变换:y=Ax+b【参数】in_features :每个输入样本的大小out_features :每个输出样本的大小bias : 若设置为False,这层不会学习偏置。默认...原创 2020-03-05 12:35:48 · 523 阅读 · 0 评论 -
Pytorch nn.AdaptiveAvgPool2d
Pytorch nn.AdaptiveAvgPool2dnn.AdaptiveAvgPool2d(output_size)H*W的输出H*H的输出nn.AdaptiveAvgPool2d(output_size)class torch.nn.AdaptiveAvgPool2d(output_size)对输入信号,提供2维的自适应平均池化操作。输入的大小任意。但是输入和输出特征的数目不会变...原创 2020-03-05 12:14:46 · 780 阅读 · 0 评论 -
Pytorch 统计模型参数量 param.numel()
Pytorch 统计模型参数量param.numel()统计模型参数量param.numel()返回param中元素的数量统计模型参数量num_params = sum(param.numel() for param in net.parameters())print(num_params)...原创 2020-03-03 16:46:48 · 3555 阅读 · 0 评论 -
Pytorch net.parameters() net.named_parameters()
Pytorch net.named_parameters() net.parameters()LeNet网络代码netnet.named_parameters()net.parameters()LeNet网络代码import torch.nn as nnclass LeNet(nn.Module): def __init__(self): super().__ini...原创 2020-03-03 16:20:32 · 6906 阅读 · 7 评论 -
PyTorch 预训练模型,保存,读取和更新模型参数以及多 GPU 训练模型(转载 极市平台)
PyTorch 预训练模型,保存,读取和更新模型参数以及多 GPU 训练模型转载 极市平台 9月10日目录1. PyTorch 预训练模型2.保存模型参数3.读取模型参数4. 冻结部分模型参数,进行 fine-tuning方法一:方法二:5. 模型训练与测试的设置训练时,应调用 model.train() ;测试时,应调用 model.eval(),以及 with torch.no_grad()...转载 2019-12-09 14:46:43 · 1717 阅读 · 2 评论 -
Pytorch-cifar100-master
pytorch加载模型报错RuntimeError:Error(s) in loading state_dict for DataParallel针对pytorch-cifar100-master代码原因训练时只用了单个GPU,测试如果要用多个GPU会报这个错...原创 2019-10-24 09:17:44 · 1936 阅读 · 0 评论 -
Pytorch MobileNet代码
Pytorch MobileNet代码论文中定义的网络结构代码部分论文中定义的网络结构Fig.3左边的结构对应代码中的conv_bn,表示带有BN和ReLU的标准卷积层。Fig.3右边的结构对应代码中的conv_dw,表示带有逐深度卷积和逐点卷积层的深度可分离卷积层。上图是MobileNet的网络主体结构。代码部分class MobileNet(nn.Module): de...原创 2020-03-14 17:27:03 · 442 阅读 · 0 评论 -
Pytorch tensor索引另一个tensor
tensor索引另一个tensor图解代码图解代码>>> a = torch.arange(12).view(4,3)>>> c = torch.arange(4).view(2,2).long()>>> b = a[c]>>> print(a)tensor([[ 0, 1, 2], [ 3, 4, 5], [ 6, 7, 8], [ 9, 10, 11]])原创 2020-06-03 16:26:53 · 1263 阅读 · 0 评论