Closed zehuichen123 closed 4 years ago
Thx for zehui! I've been waiting for the msrcnn for such a long time, fantastic job!
No, you should refactor other mask models to return None for mask score.
On Tue, Nov 26, 2019 at 10:29 AM loveSnowBest notifications@github.com wrote:
@zehuichen123 commented on this pull request.
In ms_test.py https://github.com/TuSimple/simpledet/pull/261#discussion_r350517477:
@@ -0,0 +1,346 @@ +import argparse
Actually, this can be merged into mask_test.py by adding plenty of if and else clauses, since one more field needs to be reserved for mask scoring ( new_score in ms_test.py file). For clarity, I add one more file to avoid this problem. I haven't thought of other elegant solutions. Or, you mean these if and else clauses are just ok?
— You are receiving this because you commented.
Reply to this email directly, view it on GitHub https://github.com/TuSimple/simpledet/pull/261?email_source=notifications&email_token=ABGODH4HFO6WGPIYWJOXEY3QVSCYHA5CNFSM4JQKRY32YY3PNVWWK3TUL52HS4DFWFIHK3DMKJSXC5LFON2FEZLWNFSXPKTDN5WW2ZLOORPWSZGOCM57PCQ#discussion_r350517477, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABGODH6AEZ4ZCKPOA2RUFZ3QVSCYHANCNFSM4JQKRY3Q .
Agreed. And that iou_pred is too specific a name, mask_score is better.
On Tue, Nov 26, 2019 at 10:02 PM Zehao Huang notifications@github.com wrote:
@huangzehao commented on this pull request.
In ms_test.py https://github.com/TuSimple/simpledet/pull/261#discussion_r350757616:
+ +
- def data_enqueue(loader, data_queue):
- for batch in loader:
- data_queue.put(batch)
- enqueue_worker = Thread(target=data_enqueue, args=(loader, data_queue))
- enqueue_worker.daemon = True
- enqueue_worker.start()
- for index in range(loader.total_record):
- r = result_queue.get()
- rid, id, info, post_cls_score, post_box, post_cls, mask, iou_pred = r
- rid, id, info, post_cls_score, post_box, post_cls, mask, iou_pred = rid.squeeze(), id.squeeze(), info.squeeze(), \
return mask_score instread of iou_pred, and rename new_score as mask_score. For mask_rcnn without rescoring, simply return None or post_cls_score. @RogerChern https://github.com/RogerChern Agree?
— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/TuSimple/simpledet/pull/261?email_source=notifications&email_token=ABGODH6DPLO2KGEWO6PGAOLQVUT7DA5CNFSM4JQKRY32YY3PNVWWK3TUL52HS4DFWFIHK3DMKJSXC5LFON2FEZLWNFSXPKTDN5WW2ZLOORPWSZGOCNAJPQI#pullrequestreview-323000257, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABGODH7UZQYCBE2GKS5WPHDQVUT7DANCNFSM4JQKRY3Q .
I've unified mask-based model prediction by adding a zero output for mask_score
and removed redundant ms_test.py
file.
@zehuichen123 LTGM. A few more things are
It seems that wheel files and checkpoints are stored on https://1dv.alarge.space
, I wonder if i can use it and how? @RogerChern
It seems that wheel files and checkpoints are stored on
https://1dv.alarge.space
, I wonder if i can use it and how? @RogerChern
Pass checkpoints and wheels to zehao.
@zehuichen123 The wheels seem not been built correctly. You may consult xiaotao about how to build a static wheel file.
I've reimplemented the MS-RCNN model. The ResNet-50 based one kept the same performance as MaskRCNN on bbox mAP(37.2) and got a 1.3 point improvement on mask mAP(33.8->35.1), which holds almost the same improvement compared to pytorch implementation(official repo). Besides, I modified the
ProposalMaskTarget
op which enables it to return one more value(mask ratio) to compute maskIoU afterwards. In order to be compatible with maskrcnn, one more parameter is added intoProposalMaskTarget
, theoutput_ratio
. The mask ratio will be computed and returned only ifoutput_ratio
is set to beTrue
(default isFalse
).