有没有办法查看Pytorch培训课程出了什么问题?

时间:2018-12-21 21:21:51

标签: python computer-vision pytorch

我正在Jupyter中训练三重卷积神经网络。
当我执行单元格时,我只得到*符号,什么也没有发生。

我不是在寻求帮助来查找代码问题。我只想知道是否有故障排除的可能性,可能会让我看到正在发生的事情。
我的数据加载器,数据格式或模型可能出了问题。如果Pytorch或某人有方法在这里找到线索,我会自己找到的。这没有给我一个错误。它只是无限期地工作在错误的地方。

我看到了一个名为“ set_trace()”的函数,可以将其键入到应该能够提供有关该问题线索的块中。但是将其放入for循环后,我得到

NameError: name 'set_trace' is not defined


for batch_idx in range(1):
    for batch_idx, (data, target) in enumerate(triplet_train_loader):
        model.train()
        metrics = []
        losses = []
        total_loss = 0
        data = tuple(d.cuda() for d in data)
        optimizer.zero_grad()
        outputs = model(*data)

        loss_outputs = loss_fn(*outputs)
        loss = loss_outputs[0] if type(loss_outputs) in (tuple, list) else loss_outputs
        losses.append(loss.item())
        total_loss += loss.item()
        loss.backward()
        optimizer.step()
        set_trace()
        if batch_idx % log_interval == 0:
            message = 'Train: [{}/{} ({:.0f}%)]\tLoss: {:.6f}'.format(
                batch_idx * len(data[0]), len(triplet_train_loader.dataset),
                100. * batch_idx / len(triplet_train_loader), np.mean(losses))
            for metric in metrics:
                message += '\t{}: {}'.format(metric.name(), metric.value())

            print(message)
            losses = []

“描述预期和实际结果”

喜欢训练。在实际结果中,它不会训练。

1 个答案:

答案 0 :(得分:1)

NameError: name 'set_trace' is not defined

您的意思是:

import pdb; pdb.set_trace()