火炬意味着功能的误解

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了火炬意味着功能的误解相关的知识,希望对你有一定的参考价值。

我无法理解如何评估这个表达式:x.view(*(x.shape[:-2]),-1).mean(-1),x形状(N,C,H,W)什么是astrick?什么是卑鄙(-1)?提前致谢

答案

什么是*? 对于.view(),pytorch期望新形状由单个int参数提供(在文档中表示为*shape)。可以在python中使用星号(*)将列表解压缩到其各个元素中,从而向view传递它所期望的正确形式的输入参数。 所以,在你的情况下,x.shape(N, C, H, W),如果你没有星号通过x.shape[:-2],你会得到x.view((N, C), -1) - 这不是view()所期望的。使用星号结果解压缩(N, C)view按预期接收view(N, C, -1)参数。得到的形状是(N, C, H*W)(3D张量而不是4张)。

什么是mean(-1)? 只需查看.mean()的文档:第一个参数是dim参数。那就是x.mean(-1)沿着最后一个维度应用mean。在您的情况下,由于默认情况下keepdim=False,您的输出将是(B, C)大小张量,其中每个元素对应于沿两个空间维度的平均值。 这相当于

x.mean(-1).mean(-1)

以上是关于火炬意味着功能的误解的主要内容,如果未能解决你的问题,请参考以下文章

我对随机化有啥误解吗?

求火炬之光2 控制台各装备,套装,宝石代码.齐全的大神来!跪求!! 有的直接给我 谢了!!!

切换片段时如何维护子视图的状态?

火炬代码不在 GPU 上运行

为啥片段恢复后再次调用onLoadFinished?

从火炬张量方法中解压和扩展的numpy等效代码