逐行统计python代码执行时间
在炼丹或者debug的过程中,我们经常需要去逐行统计代码运行的时间。使用time.time()是可以解决问题,但是过于繁琐。于是通过一顿踩坑,推荐使用line_profiler库, 安装方式如下,十分简单。
pip install line_profiler
安装成功,下面开始介绍如何使用。
from __future__ import print_function
from line_profiler import LineProfiler
import torch
import torch.nn as nn
import torch.optim as optim
from torch.optim.lr_scheduler import CosineAnnealingLR, StepLR
from data import ModelNet_Loader
from model import PointNet
import numpy as np
from torch.utils.data import DataLoader
from util import cal_loss, IOStream
import sklearn.metrics as metrics
def train(args, io):
train_loader = DataLoader(ModelNet40(args, partition='train', num_points=args.num_points), batch_size=args.batch_size, shuffle=True, drop_last=False)
test_loader = DataLoader(ModelNet40(args, partition='test', num_points=args.num_points), num_workers=8,batch_size=args.test_batch_size