微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

将固定长度的帧序列输入到CNN

如何解决将固定长度的帧序列输入到CNN

我希望我的pytorch CNN将沿通道尺寸串联的长度为SEQ_LEN的32x32 RGB图像序列作为输入。因此,网络的单个输入的形状为(32,32,3,SEQ_LEN)。我应该如何定义CNN输入层?

常用方式

SEQ_LEN = 10
input_conv = nn.Conv2d(in_channels=SEQ_LEN,out_channels=32,kernel_size=3)

BATCH_SIZE = 64
frames = np.random.randint(0,255,size=(BATCH_SIZE,SEQ_LEN,32))
frames_tensor = torch.tensor(frames)

input_conv(frames_tensor)

给出错误

RuntimeError:对于4维权重[32,10,3,3]预期需要4维输入,但是却得到大小为[64、10、3、32、32]的5维输入

解决方法

给出您的评论,听起来您的数据根本不适合 2D 卷积神经网络,而 3D 一个(Conv3d会更合适。从其文档中可以看到,它的输入形状就是您所期望的。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。