Python 3D CNN在一系列图像上的输入形状应该是什么?

Python 3D CNN在一系列图像上的输入形状应该是什么?,python,pytorch,conv-neural-network,dataloader,Python,Pytorch,Conv Neural Network,Dataloader,描述在3D CNN上进行卷积的输入是(N,Cin,D,H,W)。想象一下,如果我有一系列的图像,我想传递给3D CNN。我说得对吗: N->序列数(小批量) Cin->通道数(rgb为3个) D->序列中的图像数 H->序列中一个图像的高度 W->序列中一个图像的宽度 我问这个问题的原因是,当我叠加图像张量时:a=torch.stack([img1,img2,img3,img4,img5])我得到了一个torch.Size([5,3396247])的形状,所以必须将我的张量重塑为torch.Si

描述在3D CNN上进行卷积的输入是(N,Cin,D,H,W)。想象一下,如果我有一系列的图像,我想传递给3D CNN。我说得对吗:

  • N->序列数(小批量)
  • Cin->通道数(rgb为3个)
  • D->序列中的图像数
  • H->序列中一个图像的高度
  • W->序列中一个图像的宽度
  • 我问这个问题的原因是,当我叠加图像张量时:
    a=torch.stack([img1,img2,img3,img4,img5])
    我得到了一个
    torch.Size([5,3396247])
    的形状,所以必须将我的张量重塑为
    torch.Size([3,5396247]))
    这样通道的数量就可以先走,还是在数据加载器内部就无关紧要了


    请注意,Dataloader会自动添加一个与N相对应的维度。

    是的,这很重要,您需要确保维度顺序正确(假设您使用了
    Dataloader
    的默认校对功能)。一种方法是使用
    dim=1
    而不是默认的
    dim=0
    来调用。比如说

    a=火炬堆([img1、img2、img3、img4、img5],尺寸=1)
    
    结果
    a
    [3,5396247]
    的理想形状