ead024f46c366d2e926d4ea8b3862039aa2e69ab,scripts/detection/ssd/train_ssd.py,,train,#Any#Any#Any#Any#Any#,94
Before Change
box_labels.append(box_targets)
// losses1.append(l1 * batch_size)
// losses2.append(l2 * batch_size)
n_pos = max(1, sum(num_positive))
for l3, l4 in zip(losses3, losses4):
L = l3 / n_pos + l4 / n_pos
Ls.append(L)
losses1.append(l3 / n_pos * batch_size)
losses2.append(l4 / n_pos * batch_size)
autograd.backward(Ls)
trainer.step(1)
ce_metric.update(0, losses1)
smoothl1_metric.update(0, losses2)
After Change
cls_targets, box_targets, box_masks = net.target_generator(
anchors, cls_preds, gt_boxes, gt_ids)
num_positive.append(nd.sum(cls_targets > 0).asscalar())
valid_cls = nd.sum(cls_targets >= 0, axis=0, exclude=True)
valid_cls = nd.maximum(valid_cls, nd.ones_like(valid_cls))
// valid_box = nd.sum(box_masks > 0, axis=0, exclude=True)
l1 = cls_loss(cls_preds, cls_targets, (cls_targets >= 0).expand_dims(axis=-1))
// losses3.append(l1 * cls_targets.size / cls_targets.shape[0])
l1 = l1 / valid_cls * cls_targets.size / cls_targets.shape[0]
l2 = box_loss(box_preds * box_masks, box_targets)
// losses4.append(l2 * box_targets.size / box_targets.shape[0])
l2 = l2 / valid_cls * box_targets.size / box_targets.shape[0]
L = l1 + l2
In pattern: SUPERPATTERN
Frequency: 3
Non-data size: 8
Instances
Project Name: dmlc/gluon-cv
Commit Name: ead024f46c366d2e926d4ea8b3862039aa2e69ab
Time: 2018-04-09
Author: cheungchih@gmail.com
File Name: scripts/detection/ssd/train_ssd.py
Class Name:
Method Name: train
Project Name: dmlc/gluon-cv
Commit Name: 0a1ec0a60f037df5544db493e022958de880beb9
Time: 2018-04-09
Author: cheungchih@gmail.com
File Name: scripts/detection/ssd/train_ssd.py
Class Name:
Method Name: train
Project Name: carpedm20/ENAS-pytorch
Commit Name: 97b1bc6bdceb8b6d0c3afde1a405d044c6d2cb46
Time: 2018-02-17
Author: carpedm20@gmail.com
File Name: trainer.py
Class Name: Trainer
Method Name: train_controller