- 博客(7)
- 收藏
- 关注
原创 【KMP】从原理上详解next数组和nextval数组
全网最详细的next和nextval讲解,并比较了与现在普遍的KMP算法实现中的next数组间的异同。
2022-06-29 20:23:51
17344
13
原创 Pytorch实现梯度反转报错non-static forward method的解决办法
由于pytorch版本更新,在1.3及以上的版本中要求forward方法必须为静态方法。而在许多较早版本的代码实现中,梯度反转通常是这样写的:from torch.autograd import Functionclass GradReverse(Function): def __init__(self, lambd): self.lambd = lambd def forward(self, x): return x.view_as(x)
2021-11-17 16:19:46
2294
2
原创 Pytorch踩坑之transpose与view
在实际应用中,经常会遇到需要对张量维度进行变换的情况,经常用到的就是transpose方法和view方法。但是这两种方法有着本质的区别,使用错误会导致难以察觉的错误。transpose方法transpose方法可以理解为维度交换,也就是转置。它有两个参数dim1和dim2,意义很简单,即交换dim1和dim2两个维度。view方法view方法则可以理解成对张量重新进行维度定义,它只有一个参数size,但这个size可以是元组或者列表,表示重新进行定义的维度。两者的区别具体看一个例子。impor
2021-01-12 10:32:11
2000
原创 Pytorch学习笔记(四)—— 训练一个分类器
训练一个分类器之前的文章中已经介绍了Pytorch的基本内容,这次将会进入实战,尝试训练一个分类器并进行测试。开始之前Python提供了处理各种数据的package,如处理图片时可以使用Pillow、OpenCV等;处理音频时可以使用scipy、librosa等;处理文本时可以使用基于Python或Cython的原始加载或者选择NLTK、Spacy等。但Pytorch针对视觉处理,专门创建了一个名为torchvision的package,其中包含用于常见数据集(如Imagenet,CIFAR10,M
2020-08-17 17:27:36
2029
原创 Pytorch学习笔记(二)—— 梯度计算
Pytorch的梯度计算Pytorch支持在创建tensor时指明requires_grad参数,当该参数为True时,Pytorch会自动追踪对该tensor进行的所有操作,每次操作的结果会具有grad_fn属性来记录所做的操作:# 创建一个张量,并设置需要计算梯度以对它的计算进行追踪x = torch.ones(2, 2, requires_grad=True)print(x)# 进行一次张量操作y = x + 2print(y)print(y.grad_fn) # y作为一次操作的
2020-08-08 23:34:49
1089
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人