当前位置:   article > 正文

ValueError: not enough values to unpack (expected 16, got 9)

valueerror: not enough values to unpack (expected 11, got 9)

模型训练时,模型返回值数量错误:

ValueError: not enough values to unpack (expected 16, got 9)
函数或模型的返回参数错误(数目错误):在这里模型默认返回9个参数,但预期是16个。


原因分析:

`torch.squeeze() `这个函数主要对数据的维度进行压缩,去掉维数为1的的维度。 `torch.unsqueeze()`这个函数主要是对数据维度进行扩充,给指定位置加上维数为一的维度。
 # 训练一次
    losses, fake_image, real_image, input_label, L1_loss, style_loss, clothes_mask, warped, refined, CE_loss, rx, ry, cx, cy, rg, cg = model(
        Variable(data['label'].unsqueeze(0).cuda()), Variable(data['edge'].unsqueeze(0).cuda()),
        Variable(img_fore.unsqueeze(0).cuda()),
        Variable(mask_clothes.unsqueeze(0).cuda()), Variable(data['color'].unsqueeze(0).cuda()),
        Variable(all_clothes_label.unsqueeze(0).cuda()),
        Variable(data['image'].unsqueeze(0).cuda()), Variable(data['pose'].unsqueeze(0).cuda()),
        Variable(data['image'].unsqueeze(0).cuda()),
        Variable(mask_fore.unsqueeze(0).cuda()))
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

这里,要求返回16个参数,模型默认只返回9个。

    def forward(self, label, pre_clothes_mask, img_fore, clothes_mask, clothes, all_clothes_label, real_image, pose,
                grid, mask_fore):
        # Encode Inputs
       .....................
        return [fake_image, clothes, arm_label, L1_loss, style_loss, fake_cl, CE_loss, real_image, warped_grid]
  • 1
  • 2
  • 3
  • 4
  • 5

解决方案:

将返回值数量和接受参数的变量数目改成一致。

fake_image, real_image, input_label, L1_loss, style_loss, clothes_mask, CE_loss, rgb, alpha = model(
        Variable(data['label'].unsqueeze(0).cuda()), Variable(data['edge'].unsqueeze(0).cuda()), Variable(img_fore.unsqueeze(0).cuda()),
        Variable(mask_clothes.unsqueeze(0).cuda())
        , Variable(data['color'].unsqueeze(0).cuda()), Variable(all_clothes_label.unsqueeze(0).cuda()), Variable(data['image'].unsqueeze(0).cuda()),
        Variable(data['pose'].unsqueeze(0).cuda()), Variable(data['image'].unsqueeze(0).cuda()), Variable(mask_fore.unsqueeze(0).cuda()))
  • 1
  • 2
  • 3
  • 4
  • 5
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/凡人多烦事01/article/detail/201271
推荐阅读
相关标签
  

闽ICP备14008679号