torch.max()在三维张量中的使用
学voxelnet的代码遇到了max()用于三维向量的问题,网上的资料都是二维的,想了很久,虽然还是不太明白,但还是把思考过程发出来,抛砖引玉,希望有高手指点一二。
摘自pytorch中文文档
“返回输入张量给定维度上每行的最大值,并同时返回每个最大值的位置索引。
输出形状中,将dim维设定为1,其它与输入形状保持一致。”
实际被指定的维度直接消失了。
个人关于dim维度的理解:dim维可以看作最小比较单位,dim维度之后的维度统统视作一个整体参与比较,比较的方法就是对整体内每一个值比较取最大值。
tensor([[ 0, 1, 2, 3],
[ 4, 5, 6, 7]])
t.max(x,0)[0]:
tensor([ 4, 5, 6, 7])
dim=0,比较的对象是[ 0, 1, 2, 3]与 [ 4, 5, 6, 7],得到的结果是[ x1, x2, x3, x4],xn分别为比较对象中各位对应的最大值。
共有 0 条评论