#B,C,D,H,W->B,C,1,H,W
self.adaptive_pool = nn.AdaptiveAvgPool3d((1, None, None))
nn.AdaptiveAvgPool3d的Pytorch官方文档:
https://pytorch.org/docs/stable/generated/torch.nn.AdaptiveAvgPool3d.html

import torch
import torch.nn as nn
# target output size of 5x7x9
m = nn.AdaptiveAvgPool3d((5, 7, 9))
input = torch.randn(1, 64, 8, 9, 10)
print("1:")
print(input.shape)
output = m(input)
print(output.shape)
# target output size of 7x7x7 (cube)
m = nn.AdaptiveAvgPool3d(7)
input = torch.randn(1, 64, 10, 9, 8)
print("2:")
print(input.shape)
output = m(input)
print(output.shape)
# target output size of 7x9x8
m = nn.AdaptiveAvgPool3d((7, None, None))
input = torch.randn(1, 64, 10, 9, 8)
print("3:")
print(input.shape)
output = m(input)
print(output.shape)

运行结果:
在这里插入图片描述

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐