如何解决pytorch 中的所有值都替换为 pool max
给定 z
等于
tensor([[[[0.0908,0.1286,0.6942,0.5161],[0.4227,0.2154,0.5990,0.8666],[0.3009,0.2399,0.1818,0.7551],[0.2396,0.4485,0.4027,0.5303]],[[0.8251,0.7457,0.2091,0.7313],[0.3823,0.7351,0.3823,0.2072],[0.0863,0.5489,0.6515,0.3855],[0.5247,0.8685,0.6078,0.6181]]]])
我们有
torch.nn.MaxUnpool2d(2)(*torch.nn.MaxPool2d(2,return_indices=True)(z))
tensor([[[[0.0000,0.0000,0.0000],[0.0000,0.0000]],0.0000]]]])
我怎样才能惯用地计算一个类似的逆,而不是所有非最大值都为零,所有都等于最大值?在这种情况下,我想要:
tensor([[[[0.4227,0.4227,0.8666,[0.4485,0.7551,0.7551]],0.8251,0.7313,[0.8251,[0.8685,0.6515],0.6515]]]])
该解决方案应该适用于所有内核大小、填充和膨胀,并且速度很快。例如,在这个简单的案例中,我可以使用 torch.nn.MaxPool2d(2)(z)
轻松计算出我想要的 Kroeneker 乘积,但这并不能概括。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。