27 lines
685 B
Python
27 lines
685 B
Python
# -*- coding: utf-8 -*-
|
|
"""
|
|
Created on Tue Jan 16 10:36:38 2024
|
|
|
|
@author: ym
|
|
"""
|
|
import contextlib
|
|
import time
|
|
|
|
class Profile(contextlib.ContextDecorator):
|
|
# YOLOv5 Profile class. Usage: @Profile() decorator or 'with Profile():' context manager
|
|
def __init__(self, t=0.0):
|
|
self.t = t
|
|
# self.cuda = torch.cuda.is_available()
|
|
|
|
def __enter__(self):
|
|
self.start = self.time()
|
|
return self
|
|
|
|
def __exit__(self, type, value, traceback):
|
|
self.dt = self.time() - self.start # delta-time
|
|
self.t += self.dt # accumulate dt
|
|
|
|
def time(self):
|
|
# if self.cuda:
|
|
# torch.cuda.synchronize()
|
|
return time.time() |