Export with official `nn.SiLU()` (#7256)

* Update

* Update time_limit
pull/7257/head
Glenn Jocher 2022-04-03 18:45:05 +02:00 committed by GitHub
parent dda669a12c
commit ffcbd8ca97
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 5 additions and 8 deletions

View File

@ -54,7 +54,6 @@ from pathlib import Path
import pandas as pd
import torch
import torch.nn as nn
from torch.utils.mobile_optimizer import optimize_for_mobile
FILE = Path(__file__).resolve()
@ -64,10 +63,8 @@ if str(ROOT) not in sys.path:
if platform.system() != 'Windows':
ROOT = Path(os.path.relpath(ROOT, Path.cwd())) # relative
from models.common import Conv
from models.experimental import attempt_load
from models.yolo import Detect
from utils.activations import SiLU
from utils.datasets import LoadImages
from utils.general import (LOGGER, check_dataset, check_img_size, check_requirements, check_version, colorstr,
file_size, print_args, url2file)
@ -474,10 +471,10 @@ def run(
im, model = im.half(), model.half() # to FP16
model.train() if train else model.eval() # training mode = no Detect() layer grid construction
for k, m in model.named_modules():
if isinstance(m, Conv): # assign export-friendly activations
if isinstance(m.act, nn.SiLU):
m.act = SiLU()
elif isinstance(m, Detect):
# if isinstance(m, Conv): # assign export-friendly activations
# if isinstance(m.act, nn.SiLU):
# m.act = SiLU()
if isinstance(m, Detect):
m.inplace = inplace
m.onnx_dynamic = dynamic
if hasattr(m, 'forward_export'):

View File

@ -738,7 +738,7 @@ def non_max_suppression(prediction,
# min_wh = 2 # (pixels) minimum box width and height
max_wh = 7680 # (pixels) maximum box width and height
max_nms = 30000 # maximum number of boxes into torchvision.ops.nms()
time_limit = 0.030 * bs # seconds to quit after
time_limit = 0.1 + 0.03 * bs # seconds to quit after
redundant = True # require redundant detections
multi_label &= nc > 1 # multiple labels per box (adds 0.5ms/img)
merge = False # use merge-NMS