火炬旋转矩阵

问题描述

我试图用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 (将#修改为@)

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...