IrisRainbowNeko / genshin_auto_fish

基于深度强化学习的原神自动钓鱼AI
4.77k stars 719 forks source link

Yolox训练出错TypeError: 'numpy.float64' object cannot be interpreted as an integer #178

Closed Tz5210 closed 2 years ago

Tz5210 commented 2 years ago

2021-11-17 23:21:45 | INFO | yolox.core.trainer:246 - epoch: 9/35, iter: 10/17, mem: 2577Mb, iter_time: 1.919s, data_time: 1.440s, total_loss: 3.4, iou_loss: 2.0, l1_loss: 0.0, conf_loss: 0.8, cls_loss: 0.6, lr: 1.744e-03, size: 448, ETA: 0:15:41 2021-11-17 23:21:58 | INFO | yolox.core.trainer:318 - Save weights to ./YOLOX_outputs\yolox_tiny_fish 2021-11-17 23:21:58 | INFO | yolox.core.trainer:188 - ---> start train epoch10 2021-11-17 23:22:16 | INFO | yolox.core.trainer:246 - epoch: 10/35, iter: 10/17, mem: 2577Mb, iter_time: 1.829s, data_time: 1.449s, total_loss: 3.7, iou_loss: 2.3, l1_loss: 0.0, conf_loss: 0.8, cls_loss: 0.7, lr: 1.594e-03, size: 384, ETA: 0:14:53 2021-11-17 23:22:29 | INFO | yolox.core.trainer:318 - Save weights to ./YOLOX_outputs\yolox_tiny_fish 100%|##################################################################################| 17/17 [00:07<00:00, 2.17it/s] 2021-11-17 23:22:37 | INFO | yolox.evaluators.coco_evaluator:171 - Evaluate in main process... 2021-11-17 23:22:37 | INFO | yolox.evaluators.coco_evaluator:204 - Loading and preparing results... 2021-11-17 23:22:37 | INFO | yolox.evaluators.coco_evaluator:204 - DONE (t=0.01s) 2021-11-17 23:22:37 | INFO | pycocotools.coco:362 - creating index... 2021-11-17 23:22:37 | INFO | pycocotools.coco:362 - index created! 2021-11-17 23:22:37 | INFO | yolox.core.trainer:184 - Training of experiment is done and the best AP is 0.00 2021-11-17 23:22:37 | ERROR | yolox.core.launch:98 - An error has been caught in function 'launch', process 'MainProcess' (4492), thread 'MainThread' (3836): Traceback (most recent call last):

File "yolox_tools\train.py", line 132, in args=(exp, args), │ └ Namespace(batch_size=8, cache=False, ckpt='weights/best_tiny3.pth', devices=1, dist_backend='nccl', dist_url=None, exp_file='... └ ╒══════════════════╤═════════════════════════════════════════════════════════════════════════════════════════════════════════...

File "c:\users\rabbit\desktop\genshin_auto_fish-master\yolox\core\launch.py", line 98, in launch main_func(*args) │ └ (╒══════════════════╤════════════════════════════════════════════════════════════════════════════════════════════════════════... └ <function main at 0x000002A4FE71EB70>

File "yolox_tools\train.py", line 110, in main trainer.train() │ └ <function Trainer.train at 0x000002A4FD9ED1E0> └ <yolox.core.trainer.Trainer object at 0x000002A4FE72E978>

File "c:\users\rabbit\desktop\genshin_auto_fish-master\yolox\core\trainer.py", line 72, in train self.train_in_epoch() │ └ <function Trainer.train_in_epoch at 0x000002A4FD9ED2F0> └ <yolox.core.trainer.Trainer object at 0x000002A4FE72E978>

File "c:\users\rabbit\desktop\genshin_auto_fish-master\yolox\core\trainer.py", line 82, in train_in_epoch self.after_epoch() │ └ <function Trainer.after_epoch at 0x000002A4FE7031E0> └ <yolox.core.trainer.Trainer object at 0x000002A4FE72E978>

File "c:\users\rabbit\desktop\genshin_auto_fish-master\yolox\core\trainer.py", line 207, in after_epoch self.evaluate_and_save_model() │ └ <function Trainer.evaluate_and_save_model at 0x000002A4FE703488> └ <yolox.core.trainer.Trainer object at 0x000002A4FE72E978>

File "c:\users\rabbit\desktop\genshin_auto_fish-master\yolox\core\trainer.py", line 303, in evaluate_and_save_model evalmodel, self.evaluator, self.is_distributed │ │ │ │ └ False │ │ │ └ <yolox.core.trainer.Trainer object at 0x000002A4FE72E978> │ │ └ <yolox.evaluators.coco_evaluator.COCOEvaluator object at 0x000002A4CFAE6588> │ └ <yolox.core.trainer.Trainer object at 0x000002A4FE72E978> └ YOLOX( (backbone): YOLOPAFPN( (backbone): CSPDarknet( (stem): Focus( (conv): BaseConv( (conv): ...

File "c:\users\rabbit\desktop\genshin_auto_fish-master\yolox\exp\yolox_base.py", line 288, in eval return evaluator.evaluate(model, is_distributed, half) │ │ │ │ └ False │ │ │ └ False │ │ └ YOLOX( │ │ (backbone): YOLOPAFPN( │ │ (backbone): CSPDarknet( │ │ (stem): Focus( │ │ (conv): BaseConv( │ │ (conv): ... │ └ <function COCOEvaluator.evaluate at 0x000002A4FE6D7D90> └ <yolox.evaluators.coco_evaluator.COCOEvaluator object at 0x000002A4CFAE6588>

File "c:\users\rabbit\desktop\genshin_auto_fish-master\yolox\evaluators\coco_evaluator.py", line 131, in evaluate eval_results = self.evaluate_prediction(data_list, statistics) │ │ │ └ tensor([ 1.2093, 0.3601, 16.0000], device='cuda:0') │ │ └ [{'image_id': 0, 'category_id': 3, 'bbox': [406.1827392578125, 332.8005676269531, 274.35858154296875, 93.14263916015625], 'sc... │ └ <function COCOEvaluator.evaluate_prediction at 0x000002A4FE6D7EA0> └ <yolox.evaluators.coco_evaluator.COCOEvaluator object at 0x000002A4CFAE6588>

File "c:\users\rabbit\desktop\genshin_auto_fish-master\yolox\evaluators\coco_evaluator.py", line 212, in evaluate_prediction cocoEval = COCOeval(cocoGt, cocoDt, annType[1]) │ │ │ └ ['segm', 'bbox', 'keypoints'] │ │ └ <pycocotools.coco.COCO object at 0x000002A4CE02D470> │ └ <pycocotools.coco.COCO object at 0x000002A4CE0DD3C8> └ <class 'yolox.layers.fast_coco_eval_api.COCOeval_opt'>

File "C:\Users\Rabbit\Anaconda3\envs\ysfish\lib\site-packages\pycocotools\cocoeval.py", line 76, in init self.params = Params(iouType=iouType) # parameters │ │ │ └ 'bbox' │ │ └ <class 'pycocotools.cocoeval.Params'> │ └ {} └ <yolox.layers.fast_coco_eval_api.COCOeval_opt object at 0x000002A4CF94F390>

File "C:\Users\Rabbit\Anaconda3\envs\ysfish\lib\site-packages\pycocotools\cocoeval.py", line 527, in init self.setDetParams() │ └ <function Params.setDetParams at 0x000002A4DD2D22F0> └ <pycocotools.cocoeval.Params object at 0x000002A4CF94F320>

File "C:\Users\Rabbit\Anaconda3\envs\ysfish\lib\site-packages\pycocotools\cocoeval.py", line 507, in setDetParams self.iouThrs = np.linspace(.5, 0.95, np.round((0.95 - .5) / .05) + 1, endpoint=True) │ │ │ │ └ <function round_ at 0x000002A4E0BBC158> │ │ │ └ <module 'numpy' from 'C:\Users\Rabbit\Anaconda3\envs\ysfish\lib\site-packages\numpy\init.py'> │ │ └ <function linspace at 0x000002A4E272D268> │ └ <module 'numpy' from 'C:\Users\Rabbit\Anaconda3\envs\ysfish\lib\site-packages\numpy\init.py'> └ <pycocotools.cocoeval.Params object at 0x000002A4CF94F320>

File "<__array_function__ internals>", line 6, in linspace

File "C:\Users\Rabbit\Anaconda3\envs\ysfish\lib\site-packages\numpy\core\function_base.py", line 113, in linspace num = operator.index(num) │ │ └ 10.0 │ └ └ <module 'operator' from 'C:\Users\Rabbit\Anaconda3\envs\ysfish\lib\operator.py'>

TypeError: 'numpy.float64' object cannot be interpreted as an integer

好像是可以训练一会,然后就报错了。