LSH9832 / edgeyolo

an edge-real-time anchor-free object detector with decent performance
Apache License 2.0
446 stars 59 forks source link

can i use 640x360 to my model? #52

Closed LiaoZihZrong closed 6 months ago

LiaoZihZrong commented 6 months ago

Hello dear author,

(when trian my own dataset) I'd like to inquire if it's possible to adjust the model to dimensions of 640 pixels width by 360 pixels height ( input dimensions not the shape of image).

when my yaml set input_size: [640 360] got bug, but set [640,640] is ok

loading COCO dataset…
loading cache from ./dataset/our/train_cache.edgeyolo.
DONE(t=0.07s)
max label number in one image: 14
20240510_100419 edgeyolo.train.trainer:168 - init data prefetcher…
20240510_100420 edgeyolo.train.trainer:178 - prefetcher loaded!
20240510_100420 edgeyolo.train.trainer:257 - init learning rate scheduler…
20240510_100420 edgeyolo.train.trainer:184 - loading evaluator…
20240510_100420 edgeyolo.train.trainer:219 - evaluator loaded.
20240510_100420 edgeyolo.train.trainer:355 - Training start…
20240510_100420 edgeyolo.models:146 - weight file saved to output/train/edgeyolo_tiny_coco/last_augmentation_epoch.pth
20240510_100420 edgeyolo.train.trainer:380 - Start Train Epoch 250 (No mosaic aug, L1 loss enabled)
20240510_100420 edgeyolo.train.loss:371 - error msg: selected index k out of range
––––––CPU Mode for This Batch––––––-
Traceback (most recent call last):
File "/media/kh1070/extt/edgeyolo-main/edgeyolo/train/loss.py", line 355, in get_losses
) = self.get_assignments( # noqa
File "/home/kh1070/anaconda3/envs/DAMO/lib/python3.8/site-packages/torch/autograd/grad_mode.py", line 28, in decorate_context
return func(*args, **kwargs)
File "/media/kh1070/extt/edgeyolo-main/edgeyolo/train/loss.py", line 553, in get_assignments
) = self.dynamic_k_matching(cost, pair_wise_ious, gt_classes, num_gt, fg_mask)
File "/media/kh1070/extt/edgeyolo-main/edgeyolo/train/loss.py", line 667, in dynamic_k_matching
_, pos_idx = torch.topk(
RuntimeError: selected index k out of range

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "train.py", line 16, in <module>
train("DEFAULT" if args.default else args.cfg)
File "/media/kh1070/extt/edgeyolo-main/edgeyolo/train/launch_train.py", line 112, in launch
train_single(params=params)
File "/media/kh1070/extt/edgeyolo-main/edgeyolo/train/launch_train.py", line 73, in train_single
trainer.train()
File "/media/kh1070/extt/edgeyolo-main/edgeyolo/train/trainer.py", line 500, in train
train_one_epoch()
File "/media/kh1070/extt/edgeyolo-main/edgeyolo/train/trainer.py", line 486, in train_one_epoch
train_one_iter()
File "/media/kh1070/extt/edgeyolo-main/edgeyolo/train/trainer.py", line 461, in train_one_iter
train_in_iter()
File "/media/kh1070/extt/edgeyolo-main/edgeyolo/train/trainer.py", line 411, in train_in_iter
outputs = self.loss(outputs, (targets, mask_edge))
File "/home/kh1070/anaconda3/envs/DAMO/lib/python3.8/site-packages/torch/nn/modules/module.py", line 1102, in _call_impl
return forward_call(*input, **kwargs)
File "/media/kh1070/extt/edgeyolo-main/edgeyolo/train/loss.py", line 241, in forward
loss, bbox_loss, confidence_loss, class_loss, l1_loss, num_fg = self.get_losses(
File "/media/kh1070/extt/edgeyolo-main/edgeyolo/train/loss.py", line 389, in get_losses
) = self.get_assignments( # noqa
File "/home/kh1070/anaconda3/envs/DAMO/lib/python3.8/site-packages/torch/autograd/grad_mode.py", line 28, in decorate_context
return func(*args, **kwargs)
File "/media/kh1070/extt/edgeyolo-main/edgeyolo/train/loss.py", line 553, in get_assignments
) = self.dynamic_k_matching(cost, pair_wise_ious, gt_classes, num_gt, fg_mask)
File "/media/kh1070/extt/edgeyolo-main/edgeyolo/train/loss.py", line 667, in dynamic_k_matching
_, pos_idx = torch.topk(
RuntimeError: selected index k out of range

otherwise, is input dimensions must square(like 416x416 or 640x640) ?

Thank you.