猿问

有没有办法查看 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 = []

“描述预期和实际结果”


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


慕侠2389804
浏览 230回答 1
1回答

当年话下

NameError: name 'set_trace' is not defined你的意思是:import pdb; pdb.set_trace()
随时随地看视频慕课网APP

相关分类

Python
我要回答