躺不平的废柴 2023-03-27 16:09 采纳率: 75%
浏览 143
已结题

如何解决ValueError: not enough values to unpack (expected 4, got 2)

出现的报错信息

Traceback (most recent call last):
  File "rain.py", line 263, in <module>
    main()
  File "train.py", line 260, in main
    train(args, model, train_loader, test_loader, boardio, textio, checkpoint)
  File "train.py", line 144, in train
    train_loss, train_loss_template, train_loss_source = train_one_epoch(args, model, train_loader, optimizer)
  File "train.py", line 104, in train_one_epoch
    masked_template, masked_source, predicted_mask_template, predicted_mask_source= model(template, source)
ValueError: not enough values to unpack (expected 4, got 2)

Process finished with exit code 1

报错处代码

    for i, data in enumerate(tqdm(train_loader)):
        template, source, igt, gt_mask_template, gt_mask_source = data

        template = template.to(args.device)
        source = source.to(args.device)
        igt = igt.to(args.device)                    # [source] = [igt]*[template]
        gt_mask_template = gt_mask_template.to(args.device)
        gt_mask_source = gt_mask_source.to(args.device)

        masked_template, masked_source, predicted_mask_template, predicted_mask_source= model(template, source)  #报错

请问是哪里出问题了?

  • 写回答

2条回答 默认 最新

  • threenewbee 2023-03-27 16:29
    关注

    model(template, source)
    看看这个返回了什么
    应该返回的不是四元组,而是二元组(即你不能通过4个变量接收)

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 3月27日
  • 已采纳回答 3月27日
  • 创建了问题 3月27日