在Ubuntu下调试PyTorch代码,可以采用以下几种方法:
print("Variable value:", variable)
import pdb; pdb.set_trace()
在代码中插入上述语句后,程序会在该行暂停执行,你可以使用pdb提供的命令进行调试。
import logging
logging.basicConfig(level=logging.DEBUG)
logging.debug("Variable value: %s", variable)
PyCharm:
VSCode:
torch.autograd.set_detect_anomaly(True)
启用后,如果检测到梯度计算错误,程序会抛出异常并显示详细的错误信息。
from torch.autograd import profiler
with profiler.profile(record_shapes=True) as prof:
# Your model inference code here
output = model(input)
from torch.utils.tensorboard import SummaryWriter
writer = SummaryWriter('runs/experiment-1')
writer.add_scalar('Loss/train', loss.item(), epoch)
writer.close()
然后在终端运行:
tensorboard --logdir=runs
打开浏览器访问http://localhost:6006即可查看TensorBoard界面。
assert variable > 0, "Variable must be positive"
如果条件不成立,程序会抛出AssertionError并显示自定义的错误信息。
通过以上方法,你可以在Ubuntu环境下有效地调试PyTorch代码。选择适合你需求的方法进行调试,可以提高开发效率。