MCPcopy Create free account
hub / github.com/dbolya/yolact / optimize

Function optimize

scripts/optimize_bboxes.py:124–154  ·  view source on GitHub ↗
(full_bboxes, optim_idx, batch_size=5000)

Source from the content-addressed store, hash-verified

122
123
124def optimize(full_bboxes, optim_idx, batch_size=5000):
125 global batch_idx, scales, aspect_ratios, conv_sizes
126
127 start = batch_idx * batch_size
128 end = min((batch_idx + 1) * batch_size, full_bboxes.size(0))
129
130 if batch_idx > (full_bboxes.size(0) // batch_size):
131 batch_idx = 0
132
133 bboxes = full_bboxes[start:end, :]
134
135 anchor_base = [
136 make_priors(conv_sizes[idx], scales[idx], aspect_ratios[idx])
137 for idx in range(len(conv_sizes)) if idx != optim_idx]
138 base_hits = compute_hits(bboxes, torch.cat(anchor_base, dim=0))
139
140
141 def set_x(x, scales, aspect_ratios):
142 if optimize_scales:
143 for i in range(len(scales)):
144 scales[i] = max(x[i], 0)
145 else:
146 k = 0
147 for i in range(len(aspect_ratios)):
148 for j in range(len(aspect_ratios[i])):
149 aspect_ratios[i][j] = x[k]
150 k += 1
151
152
153 res = minimize(step, x0=scales[optim_idx] if optimize_scales else sum(aspect_ratios[optim_idx], []), method='Powell',
154 args = (set_x, bboxes, base_hits, optim_idx),)
155
156
157def pretty_str(x:list):

Callers 1

optimize_bboxes.pyFile · 0.85

Calls 2

compute_hitsFunction · 0.85
make_priorsFunction · 0.70

Tested by

no test coverage detected