torch
A.J.N
这个作者很懒,什么都没留下…
展开
-
用autograd实现简单的线性回归
来自陈云 深度学习框架书中的练习,这本书不是很严谨易读不推荐购买import torch as tfrom torch.autograd import Variable as Vfrom matplotlib import pyplot as pltfrom IPython import displayt.manual_seed(1000)def get_fake_data(batch_size=8): x = t.randn(batch_size, 1) * 20 y原创 2022-05-16 18:26:54 · 139 阅读 · 0 评论 -
RuntimeError: grad can be implicitly created only for scalar outputs
x = torch.ones(2,requires_grad=True)z = x + 2z.backward()上面的报错信息意思是只有对标量输出它才会计算梯度,而求一个矩阵对另一矩阵的导数束手无策,解决方法是给backward加上参数grad_tensors,相当于z和一个大小相同的矩阵相乘后再求导,grad_tensors的作用其实可以简单地理解成在求梯度时的权重,因为可能不同值的梯度对结果影响程度不同x = torch.ones(2,requires_grad=True)z = x.原创 2022-05-14 18:19:27 · 12182 阅读 · 0 评论 -
RuntimeError: expected scalar type Long but found Float
x1 = t.arange(0, 20).view(-1, 1) y1 = x1.mm(w) + b.expand_as(x1)报错RuntimeError: expected scalar type Long but found Floatdebug发现是x1.mm(w)的问题,尝试通过更改w的类型解决(w.long()),虽然不报错,但是数据要求float类型,更改后会影响实验结果;尝试更改x1的类型,查询后发现torch.arange输出的是long型,torch.range输出floa..原创 2022-05-12 21:36:52 · 659 阅读 · 0 评论