问题描述
我试图用pytorch和autograd做一个旋转矩阵,但结果却不尽人意。
theta = tc.tensor([3.1415],requires_grad=True)
tx = tc.tensor([1.0],requires_grad=True)
ty = tc.tensor([1.0],requires_grad=True)
P = tc.tensor([[tc.cos(theta),-tc.sin(theta),tx],[tc.sin(theta),tc.cos(theta),ty],[0.0,0.0,0.0]],requires_grad=True)
我想“学习”参数theta,tx,ty。运行后,我得到一个类型的矩阵
[-0.0506,-0.0973,0.1012],[-0.0957,0.1025,-0.0147],[ 0.0000,0.0000,0.0000]
这意味着它学习每个条目而不是theta。我们应该有[0,0] == [1,1],[0,1] =-[1,0],而我们没有。如果我从矩阵中删除require_grad = True,则希望反向传播。 知道如何制作一个像上面这样的简单矩阵吗?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)