|
|
|
@ -96,8 +96,11 @@ class Model(nn.Module):
|
|
|
|
|
x = y[m.f] if isinstance(m.f, int) else [x if j == -1 else y[j] for j in m.f] # from earlier layers
|
|
|
|
|
|
|
|
|
|
if profile:
|
|
|
|
|
import thop
|
|
|
|
|
o = thop.profile(m, inputs=(x,), verbose=False)[0] / 1E9 * 2 # FLOPS
|
|
|
|
|
try:
|
|
|
|
|
import thop
|
|
|
|
|
o = thop.profile(m, inputs=(x,), verbose=False)[0] / 1E9 * 2 # FLOPS
|
|
|
|
|
except:
|
|
|
|
|
o = 0
|
|
|
|
|
t = torch_utils.time_synchronized()
|
|
|
|
|
for _ in range(10):
|
|
|
|
|
_ = m(x)
|
|
|
|
@ -217,11 +220,10 @@ if __name__ == '__main__':
|
|
|
|
|
# Profile
|
|
|
|
|
# img = torch.rand(8 if torch.cuda.is_available() else 1, 3, 640, 640).to(device)
|
|
|
|
|
# y = model(img, profile=True)
|
|
|
|
|
# print([y[0].shape] + [x.shape for x in y[1]])
|
|
|
|
|
|
|
|
|
|
# ONNX export
|
|
|
|
|
# model.model[-1].export = True
|
|
|
|
|
# torch.onnx.export(model, img, f.replace('.yaml', '.onnx'), verbose=True, opset_version=11)
|
|
|
|
|
# torch.onnx.export(model, img, opt.cfg.replace('.yaml', '.onnx'), verbose=True, opset_version=11)
|
|
|
|
|
|
|
|
|
|
# Tensorboard
|
|
|
|
|
# from torch.utils.tensorboard import SummaryWriter
|
|
|
|
|