如何在pytorch图像处理模型中处理具有多个图像的样本?
我的模型训练涉及对同一图像的多个变体进行编码,然后将生成的表示与图像的所有变体相加 数据加载器生成形状的张量批次:如何在pytorch图像处理模型中处理具有多个图像的样本?,pytorch,tensor,mini-batch,Pytorch,Tensor,Mini Batch,我的模型训练涉及对同一图像的多个变体进行编码,然后将生成的表示与图像的所有变体相加 数据加载器生成形状的张量批次:[批次大小、数量变量、1、高度、宽度]。 1对应于图像颜色通道 如何在pytorch中使用小批量训练我的模型? 我正在寻找一种合适的方法,通过网络转发所有batch_size×num_变体图像,并对所有变体组的结果进行汇总 我目前的解决方案是将前两个维度展平,然后做一个for循环来求和表示,但我觉得应该有更好的方法,而且我不确定渐变是否会记住所有内容。我不确定我是否正确理解您的意思,
[批次大小、数量变量、1、高度、宽度]
。
1
对应于图像颜色通道
如何在pytorch中使用小批量训练我的模型?
我正在寻找一种合适的方法,通过网络转发所有batch_size×num_变体图像,并对所有变体组的结果进行汇总
我目前的解决方案是将前两个维度展平,然后做一个for循环来求和表示,但我觉得应该有更好的方法,而且我不确定渐变是否会记住所有内容。我不确定我是否正确理解您的意思,但我想这正是您想要的(假设成批图像张量称为
image
):
Nb,Nv,inC,inH,inW=image.shape
#将每个变体视为批处理中的普通图像
图像=图像。重塑(Nb*Nv,inC,inH,inW)
输出=模型(图像)
_,outC,outH,outW=output.shape[1]
#重塑输出,使dim==1表示变量
输出=输出。重塑(Nb、Nv、outC、outH、OUT)
#对变量求和并失去求和的维度[Nb,outC,outH,outW]
output=output.sum(dim=1,keepdim=False)
我使用了<代码> Inc/<代码> <代码> OTCC ,<代码> In/<代码>等。在输入和输出通道/大小不同的情况下,
您考虑了3D卷积模型吗?它们是为这样的方法设计的。在3D卷积中,可以考虑变量的编号为<代码>深度>代码>输入:<代码> NN。e> 批量大小*通道*深度*高度*宽度@planet\u冥王星我不认为3D卷积是我要寻找的。对图像的操作在变体上共享。对图像的所有变体都是相同的模型。