-
Notifications
You must be signed in to change notification settings - Fork 331
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
AttributeError: Can't get attribute '__main__' on <module 'builtins' (built-in)> while loading the pruned model #399
Comments
Same for me. If you'll find any solution - please tag me |
@Ramzes30765 hey |
@jenyaMi Hello! Thank you for information
|
@
Still have an errors(
|
I encountered the same issue, but after making modifications, it was able to run successfully. However, I am now facing an "index error".
|
I use yolov8 pruning code, to be more precisely the updated version for the new version of ultralytics: https://github.com/chbw818/yolov8-prune-using-torch-pruning-/tree/main
I am struggling with loading the pruned model...
AttributeError: Can't get attribute 'main' on <module 'builtins' (built-in)>
AttributeError Traceback (most recent call last)
in
16 args = parser.parse_args()
17
---> 18 prune(args)
in prune(args)
432 pruning_cfg['name'] = f"step_{i}_finetune"
433 pruning_cfg['batch'] = batch_size # restore batch size
--> 434 model.train_v2(pruning=True, **pruning_cfg)
435
436 # post fine-tuning validation
in train_v2(self, pruning, **kwargs)
337
338 self.trainer.hub_session = self.session # attach optional HUB session
--> 339 self.trainer.train()
340 # Update model and cfg after training
341 if RANK in (-1, 0):
/workspace/data/notebooks/belt_detection/ultralytics/ultralytics/engine/trainer.py in train(self)
202
203 else:
--> 204 self._do_train(world_size)
205
206 def _setup_scheduler(self):
/workspace/data/notebooks/belt_detection/ultralytics/ultralytics/engine/trainer.py in _do_train(self, world_size)
467 f"{(time.time() - self.train_time_start) / 3600:.3f} hours."
468 )
--> 469 self.final_eval()
470 if self.args.plots:
471 self.plot_metrics()
in final_eval_v2(self)
272 for f in self.last, self.best:
273 if f.exists():
--> 274 strip_optimizer_v2(f) # strip optimizers
275 if f is self.best:
276 LOGGER.info(f'\nValidating {f}...')
in strip_optimizer_v2(f, s)
284 Disabled half precision saving. originated from ultralytics/yolo/utils/torch_utils.py
285 """
--> 286 x = torch.load(f, map_location=torch.device('cpu'))
287 args = {**DEFAULT_CFG_DICT, **x['train_args']} # combine model args with default args, preferring model args
288 if x.get('ema'):
/opt/conda/lib/python3.8/site-packages/torch/serialization.py in load(f, map_location, pickle_module, **pickle_load_args)
605 opened_file.seek(orig_position)
606 return torch.jit.load(opened_file)
--> 607 return _load(opened_zipfile, map_location, pickle_module, **pickle_load_args)
608 return _legacy_load(opened_file, map_location, pickle_module, **pickle_load_args)
/opt/conda/lib/python3.8/site-packages/torch/serialization.py in _load(zip_file, map_location, pickle_module, pickle_file, **pickle_load_args)
880 unpickler = UnpicklerWrapper(data_file, **pickle_load_args)
881 unpickler.persistent_load = persistent_load
--> 882 result = unpickler.load()
883
884 torch._utils._validate_loaded_sparse_tensors()
/opt/conda/lib/python3.8/site-packages/torch/serialization.py in find_class(self, mod_name, name)
873 def find_class(self, mod_name, name):
874 mod_name = load_module_mapping.get(mod_name, mod_name)
--> 875 return super().find_class(mod_name, name)
876
877 # Load the data (which may in turn use
persistent_load
to load tensors)AttributeError: Can't get attribute 'main' on <module 'builtins' (built-in)>
Maybe someone know what could be the problem here, I saw many people were able to run the code successfully. I use the last version of ultralytics 8.2.50
The text was updated successfully, but these errors were encountered: