D-X-Y / landmark-detection

Four landmark detection algorithms, implemented in PyTorch.
https://xuanyidong.com/assets/projects/TPAMI-2020-SRT.html
MIT License
925 stars 180 forks source link

Evaluating the 300W using the pre-trained model on cpu #53

Closed john-bao-git closed 5 years ago

john-bao-git commented 5 years ago

Hello,

Thank you so much for your code and paper. I'm working on evaluating the pre-trained model you provided on the 300W dataset. However, I don't have GPU, so I can't use CUDA. AssertionError: Torch not compiled with CUDA enabled

I found this part here in evaluate_detector.py: target = target.cuda() mask = mask.cuda()

I've already edited the code in train_detector.py to take the CPU: torch.load(opt.resume, map_location=torch.device('cpu'))

I've also edited the 300W-EVAL.sh file to do no GPUs through: --gpu_ids -1

I can evaluate on single images, but I'd like to get an NME myself by evaluating the dataset.

I'm not sure how to proceed from here. If this is possible, please let me know.

Thank you very much for your time.

Sincerely, John

D-X-Y commented 5 years ago

which project are you using?

john-bao-git commented 5 years ago

I'm working on the SAN.

On Fri., Nov. 29, 2019, 20:38 D-X-Y notifications@github.com wrote:

which project are you using?

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/D-X-Y/landmark-detection/issues/53?email_source=notifications&email_token=AC7NDCTLCGQWEACIEZI3NSLQWG72DA5CNFSM4JTDWHN2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEFPXDCQ#issuecomment-559903114, or unsubscribe https://github.com/notifications/unsubscribe-auth/AC7NDCXJFRYDCMPSEV7IOBLQWG72DANCNFSM4JTDWHNQ .

D-X-Y commented 5 years ago

If you are using san_eval.py to evaluate the model, you can use --cpu augment to evaluate on CPU following https://github.com/D-X-Y/landmark-detection/tree/master/SAN#evaluation-on-the-single-image. If you want to evaluate on the whole 300W test set, you should use this file san_main.py. If so, some codes should be modified.

john-bao-git commented 5 years ago

Yea, I got the san-eval.py to work on the cpu. I'll try looking at where in the san_main.py to edit.

On Sat, Nov 30, 2019 at 4:31 AM D-X-Y notifications@github.com wrote:

If you are using san_eval.py to evaluate the model, you can use --cpu augment to evaluate on CPU following https://github.com/D-X-Y/landmark-detection/tree/master/SAN#evaluation-on-the-single-image. If you want to evaluate on the whole 300W test set, you should use this file san_main.py. If so, some codes should be modified.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/D-X-Y/landmark-detection/issues/53?email_source=notifications&email_token=AC7NDCRNXGQOK52SQDBLMPDQWIXGFA5CNFSM4JTDWHN2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEFP66FQ#issuecomment-559935254, or unsubscribe https://github.com/notifications/unsubscribe-auth/AC7NDCQSD7WE25EJJFZZOYDQWIXGFANCNFSM4JTDWHNQ .

john-bao-git commented 5 years ago

I finally got it to work. I didn't edit san_main.py, but changed evaluate_detector.py instead. I commented out:

target = target.duda()
mask = mask.cuda()
D-X-Y commented 5 years ago

Nice!