コード例 #1
0
ファイル: show_results.py プロジェクト: potipot/icevision
def loop_unet(dl, model, losses_stats, device):
    samples_plus_losses = []
    loss_func = torch.nn.CrossEntropyLoss()

    with torch.no_grad():
        for (x, y), sample in pbar(dl):
            torch.manual_seed(0)
            x, y = _move_to_device(x, y, device)
            preds = model(x)
            loss = loss_func(preds, y)
            loss = {
                "loss_unet": float(loss.cpu().numpy()),
                "loss_total": float(loss.cpu().numpy()),
            }

            for l in losses_stats.keys():
                losses_stats[l].append(loss[l])

            loss_comp = LossesRecordComponent()
            loss_comp.set_losses(loss)
            sample[0].add_component(loss_comp)
            sample[0].set_img(tensor_to_image(x[0]))
            sample[0].segmentation.set_mask_array(
                MaskArray(y[0].detach().cpu().numpy()))
            samples_plus_losses.append(sample[0])
    return samples_plus_losses, losses_stats
コード例 #2
0
def loop_mmdet(dl, model, losses_stats, device):
    samples_plus_losses = []

    with torch.no_grad():
        for data, sample in pbar(dl):
            torch.manual_seed(0)
            _, data = _move_to_device(None, data, device)
            loss = model(**data)
            loss = sum_losses_mmdet(loss)

            for l in losses_stats.keys():
                losses_stats[l].append(loss[l])

            sample[0].update(loss)
            samples_plus_losses.append(sample[0])

    return samples_plus_losses, losses_stats
コード例 #3
0
def loop_mmdet(dl, model, losses_stats, device):
    samples_plus_losses = []

    with torch.no_grad():
        for data, sample in pbar(dl):
            torch.manual_seed(0)
            _, data = _move_to_device(None, data, device)
            loss = model(**data)
            loss = sum_losses_mmdet(loss)

            for l in losses_stats.keys():
                losses_stats[l].append(loss[l])

            loss_comp = LossesRecordComponent()
            loss_comp.set_losses(loss)
            sample[0].add_component(loss_comp)
            sample[0].set_img(mmdet_tensor_to_image(data["img"][0]))
            samples_plus_losses.append(sample[0])

    return samples_plus_losses, losses_stats
コード例 #4
0
ファイル: show_results.py プロジェクト: potipot/icevision
def loop_yolo(dl, model, losses_stats, device):
    samples_plus_losses = []
    compute_loss = ComputeLoss(model)

    with torch.no_grad():
        for (x, y), sample in pbar(dl):
            torch.manual_seed(0)
            x, y = _move_to_device(x, y, device)
            preds = model(x)
            loss = compute_loss(preds, y)[0]
            loss = {
                "loss_yolo": float(loss.cpu().numpy()),
                "loss_total": float(loss.cpu().numpy()),
            }

            for l in losses_stats.keys():
                losses_stats[l].append(loss[l])

            loss_comp = LossesRecordComponent()
            loss_comp.set_losses(loss)
            sample[0].add_component(loss_comp)
            sample[0].set_img(tensor_to_image(x[0]))
            samples_plus_losses.append(sample[0])
    return samples_plus_losses, losses_stats