cvg / glue-factory

Training library for local feature detection and matching
Apache License 2.0
771 stars 99 forks source link

Error:_pickle.UnpicklingError: invalid load key, '\x0a'. #77

Open xiaolangha opened 7 months ago

xiaolangha commented 7 months ago

Hi, thank you for such a great masterpiece. I am a beginner and have only recently started learning about this area. Currently, I would like to learn LightGlue. But many problems have arisen that cannot be solved.

When I take this step: python -m gluefactory.eval.hpatches --conf superpoint+lightglue-official --overwrite An error occurred ,as follows:

Traceback (most recent call last): File "D:\DeepLearning\Anaconda3\envs\glue-factory-main-1\lib\runpy.py", line 197, in _run_module_as_main return _run_code(code, main_globals, None, File "D:\DeepLearning\Anaconda3\envs\glue-factory-main-1\lib\runpy.py", line 87, in _run_code exec(code, run_globals) File "D:\DeepLearning\two\hwj_DeepLearning\LightGlue_LoFTR\LightGlue\glue-factory-main-1\gluefactory\eval\hpatches.py", line 194, in s, f, r = pipeline.run( File "D:\DeepLearning\two\hwj_DeepLearning\LightGlue_LoFTR\LightGlue\glue-factory-main-1\gluefactory\eval\eval_pipeline.py", line 83, in run pred_file = self.get_predictions( File "D:\DeepLearning\two\hwj_DeepLearning\LightGlue_LoFTR\LightGlue\glue-factory-main-1\gluefactory\eval\hpatches.py", line 85, in get_predictions model = load_model(self.conf.model, self.conf.checkpoint) File "D:\DeepLearning\two\hwj_DeepLearning\LightGlue_LoFTR\LightGlue\glue-factory-main-1\gluefactory\eval\io.py", line 91, in load_model model = get_model("two_view_pipeline")(model_conf).eval() File "D:\DeepLearning\two\hwj_DeepLearning\LightGlue_LoFTR\LightGlue\glue-factory-main-1\gluefactory\models\base_model.py", line 86, in init self._init(conf) File "D:\DeepLearning\two\hwj_DeepLearning\LightGlue_LoFTR\LightGlue\glue-factory-main-1\gluefactory\models\two_view_pipeline.py", line 46, in _init self.extractor = get_model(conf.extractor.name)(to_ctr(conf.extractor)) File "D:\DeepLearning\two\hwj_DeepLearning\LightGlue_LoFTR\LightGlue\glue-factory-main-1\gluefactory\models\base_model.py", line 86, in init self._init(conf) File "D:\DeepLearning\two\hwj_DeepLearning\LightGlue_LoFTR\LightGlue\glue-factory-main-1\gluefactory\models\lines\wireframe.py", line 156, in _init self.point_extractor = get_model(self.conf.point_extractor.name)( File "D:\DeepLearning\two\hwj_DeepLearning\LightGlue_LoFTR\LightGlue\glue-factory-main-1\gluefactory\models\base_model.py", line 86, in init self._init(conf) File "D:\DeepLearning\two\hwj_DeepLearning\LightGlue_LoFTR\LightGlue\glue-factory-main-1\gluefactory_nonfree\superpoint.py", line 199, in _init torch.hub.load_state_dict_from_url(str(self.checkpoint_url)), strict=False File "D:\DeepLearning\Anaconda3\envs\glue-factory-main-1\lib\site-packages\torch\hub.py", line 750, in load_state_dict_from_url return torch.load(cached_file, map_location=map_location) File "D:\DeepLearning\Anaconda3\envs\glue-factory-main-1\lib\site-packages\torch\serialization.py", line 815, in load return _legacy_load(opened_file, map_location, pickle_module, pickle_load_args) File "D:\DeepLearning\Anaconda3\envs\glue-factory-main-1\lib\site-packages\torch\serialization.py", line 1033, in _legacy_load magic_number = pickle_module.load(f, pickle_load_args) _pickle.UnpicklingError: invalid load key, '\x0a'.

I did it on the Windows system My environment is : python3.9+torch2.0.1+cuda11.7 Executed this step : python -m pip install -e . no error

I want to know why such an error occurred? Can you help me take a look?Thanks.