Giter Site home page Giter Site logo

graphqa's Introduction

Hi, I'm Federico ๐Ÿ‘‹

Postdoc at Meta AI in Paris

My research focuses on the explainability of deep learning, improving our understanding of modern learning systems from their internal representations to the way they determine a prediction.

Learn more about me and my research on my website.

Connect with me:

ย baldassarrefe

graphqa's People

Contributors

baldassarrefe avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

graphqa's Issues

Prediction error: required positional argument missing problem

Hello! I'm interested in the prediction function. But when I run the route through the 'prediction.md', there's a such error.

Traceback (most recent call last):
  File "/export/home/prpstudent/anaconda3/envs/graphqa/lib/python3.8/runpy.py", line 194, in _run_module_as_main
    return _run_code(code, main_globals, None,
  File "/export/home/prpstudent/anaconda3/envs/graphqa/lib/python3.8/runpy.py", line 87, in _run_code
    exec(code, run_globals)
  File "/export/home/prpstudent/anaconda3/envs/graphqa/lib/python3.8/site-packages/graphqa/eval.py", line 77, in <module>
    main()
  File "/export/home/prpstudent/anaconda3/envs/graphqa/lib/python3.8/site-packages/graphqa/eval.py", line 38, in main
    model = load_model(args.checkpoint)
  File "/export/home/prpstudent/anaconda3/envs/graphqa/lib/python3.8/site-packages/graphqa/eval.py", line 17, in load_model
    model = LightningGraphQA.load_from_checkpoint(checkpoint_path)
  File "/export/home/prpstudent/anaconda3/envs/graphqa/lib/python3.8/site-packages/pytorch_lightning/core/saving.py", line 156,
    model = cls._load_model_state(checkpoint, strict, **kwargs)
  File "/export/home/prpstudent/anaconda3/envs/graphqa/lib/python3.8/site-packages/pytorch_lightning/core/saving.py", line 198,
    model = cls(**_cls_kwargs)
TypeError: __init__() missing 1 required positional argument: 'hparams'

I wonder how can I get over with this error.
BTW, the Link in the .md cannot use also, which shows a error like this:

ImageNotFound: 404 Client Error: Not Found ("pull access denied for dssp, repository does not exist or may require 'docker login'")

01-DownloadCASPData.py (python) error - line 899 expected in indented block

Hi,

I'm trying to install GraphQA via the GitHub instructions and I'm up to the stage of downloading the raw protein CASP data. Unless I'm attempting to do this in the wrong way, I'm trying to do this by running the python script 01-DownloadCASPData.py (>python 01-DownloadCASPData.py) in the directory graphqa/notebooks. I'm using python version 3.7.3. However I get the python error below and I couldn't see an obvious code fix:

File "01-DownloadCASPData.py", line 899
for p in Path(dest).glob('T????QA???_?):
^
IndentationError: expected an indented block

Many thanks for looking into this potential issue or any clarification.
David

Unable to prediction

I have finished the reprocess of decoys. ( pdb strcuture)
When i was predicting with checkpoint of " /runs/wandb/quirky_stallman_1133/checkpoints/graphqa_epoch=599.ckpt
", there is some troblue, like:
image

so, coulde you share me with the usefull chechpoit?

training errors using preprocessed data

I followed the readme instructions to get the miniconda environment and got the preprocessed data.
After running into the environment:

python -m src.graphqa.train config/train.yaml

I get the error:

Validation sanity check: 100%|โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆ| 1/1.0 [00:00<00:00,  1.88it/s]2020-11-18 09:23:26.893 | ERROR    | __main__:<module>:299 - An error has been caught in function '<module>', process 'MainProcess' (16505), thread 'MainThread' (140044919113536):
Traceback (most recent call last):

  File "/home/gabriele/miniconda3/envs/graphqa/lib/python3.8/runpy.py", line 194, in _run_module_as_main
    return _run_code(code, main_globals, None,
           โ”‚         โ”‚     โ”” {'__name__': '__main__', '__doc__': None, '__package__': 'src.graphqa', '__loader__': <_frozen_importlib_external.SourceFileL...
           โ”‚         โ”” <code object <module> at 0x7f5ebf05db30, file "/storage/graphqa/src/graphqa/train.py", line 1>
           โ”” <function _run_code at 0x7f5ebf03bee0>
  File "/home/gabriele/miniconda3/envs/graphqa/lib/python3.8/runpy.py", line 87, in _run_code
    exec(code, run_globals)
         โ”‚     โ”” {'__name__': '__main__', '__doc__': None, '__package__': 'src.graphqa', '__loader__': <_frozen_importlib_external.SourceFileL...
         โ”” <code object <module> at 0x7f5ebf05db30, file "/storage/graphqa/src/graphqa/train.py", line 1>

> File "/storage/graphqa/src/graphqa/train.py", line 299, in <module>
    main()
    โ”” <function main at 0x7f5e25a05c10>

  File "/storage/graphqa/src/graphqa/train.py", line 292, in main
    result = trainer.fit(model)
             โ”‚       โ”‚   โ”” LightningGraphQA(
             โ”‚       โ”‚       (model): RecursiveScriptModule(
             โ”‚       โ”‚         original_name=GraphQA
             โ”‚       โ”‚         (embeddings): RecursiveScriptModule(
             โ”‚       โ”‚           ...
             โ”‚       โ”” <function Trainer.fit at 0x7f5e5c5ff280>
             โ”” <pytorch_lightning.trainer.trainer.Trainer object at 0x7f5e177f1790>

  File "/home/gabriele/miniconda3/envs/graphqa/lib/python3.8/site-packages/pytorch_lightning/trainer/states.py", line 48, in wrapped_fn
    result = fn(self, *args, **kwargs)
             โ”‚  โ”‚      โ”‚       โ”” {}
             โ”‚  โ”‚      โ”” (LightningGraphQA(
             โ”‚  โ”‚          (model): RecursiveScriptModule(
             โ”‚  โ”‚            original_name=GraphQA
             โ”‚  โ”‚            (embeddings): RecursiveScriptModule(
             โ”‚  โ”‚             ...
             โ”‚  โ”” <pytorch_lightning.trainer.trainer.Trainer object at 0x7f5e177f1790>
             โ”” <function Trainer.fit at 0x7f5e5c5ff1f0>
  File "/home/gabriele/miniconda3/envs/graphqa/lib/python3.8/site-packages/pytorch_lightning/trainer/trainer.py", line 1073, in fit
    results = self.accelerator_backend.train(model)
              โ”‚    โ”‚                   โ”‚     โ”” LightningGraphQA(
              โ”‚    โ”‚                   โ”‚         (model): RecursiveScriptModule(
              โ”‚    โ”‚                   โ”‚           original_name=GraphQA
              โ”‚    โ”‚                   โ”‚           (embeddings): RecursiveScriptModule(
              โ”‚    โ”‚                   โ”‚             ...
              โ”‚    โ”‚                   โ”” <function GPUBackend.train at 0x7f5e6123be50>
              โ”‚    โ”” <pytorch_lightning.accelerators.gpu_backend.GPUBackend object at 0x7f5e25922940>
              โ”” <pytorch_lightning.trainer.trainer.Trainer object at 0x7f5e177f1790>
  File "/home/gabriele/miniconda3/envs/graphqa/lib/python3.8/site-packages/pytorch_lightning/accelerators/gpu_backend.py", line 51, in train
    results = self.trainer.run_pretrain_routine(model)
              โ”‚    โ”‚       โ”‚                    โ”” LightningGraphQA(
              โ”‚    โ”‚       โ”‚                        (model): RecursiveScriptModule(
              โ”‚    โ”‚       โ”‚                          original_name=GraphQA
              โ”‚    โ”‚       โ”‚                          (embeddings): RecursiveScriptModule(
              โ”‚    โ”‚       โ”‚                            ...
              โ”‚    โ”‚       โ”” <function Trainer.run_pretrain_routine at 0x7f5e5c5ff430>
              โ”‚    โ”” <pytorch_lightning.trainer.trainer.Trainer object at 0x7f5e177f1790>
              โ”” <pytorch_lightning.accelerators.gpu_backend.GPUBackend object at 0x7f5e25922940>
  File "/home/gabriele/miniconda3/envs/graphqa/lib/python3.8/site-packages/pytorch_lightning/trainer/trainer.py", line 1224, in run_pretrain_routine
    self._run_sanity_check(ref_model, model)
    โ”‚    โ”‚                 โ”‚          โ”” LightningGraphQA(
    โ”‚    โ”‚                 โ”‚              (model): RecursiveScriptModule(
    โ”‚    โ”‚                 โ”‚                original_name=GraphQA
    โ”‚    โ”‚                 โ”‚                (embeddings): RecursiveScriptModule(
    โ”‚    โ”‚                 โ”‚                  ...
    โ”‚    โ”‚                 โ”” LightningGraphQA(
    โ”‚    โ”‚                     (model): RecursiveScriptModule(
    โ”‚    โ”‚                       original_name=GraphQA
    โ”‚    โ”‚                       (embeddings): RecursiveScriptModule(
    โ”‚    โ”‚                         ...
    โ”‚    โ”” <function Trainer._run_sanity_check at 0x7f5e5c5ff4c0>
    โ”” <pytorch_lightning.trainer.trainer.Trainer object at 0x7f5e177f1790>
  File "/home/gabriele/miniconda3/envs/graphqa/lib/python3.8/site-packages/pytorch_lightning/trainer/trainer.py", line 1257, in _run_sanity_check
    eval_results = self._evaluate(model, self.val_dataloaders, max_batches, False)
                   โ”‚    โ”‚         โ”‚      โ”‚    โ”‚                โ”” [1.0]
                   โ”‚    โ”‚         โ”‚      โ”‚    โ”” [<torch_geometric.data.dataloader.DataLoader object at 0x7f5e176ee2b0>]
                   โ”‚    โ”‚         โ”‚      โ”” <pytorch_lightning.trainer.trainer.Trainer object at 0x7f5e177f1790>
                   โ”‚    โ”‚         โ”” LightningGraphQA(
                   โ”‚    โ”‚             (model): RecursiveScriptModule(
                   โ”‚    โ”‚               original_name=GraphQA
                   โ”‚    โ”‚               (embeddings): RecursiveScriptModule(
                   โ”‚    โ”‚                 ...
                   โ”‚    โ”” <function TrainerEvaluationLoopMixin._evaluate at 0x7f5e5c649310>
                   โ”” <pytorch_lightning.trainer.trainer.Trainer object at 0x7f5e177f1790>
  File "/home/gabriele/miniconda3/envs/graphqa/lib/python3.8/site-packages/pytorch_lightning/trainer/evaluation_loop.py", line 413, in _evaluate
    self.__call_eval_loop_hook_end(test_mode)
    โ”‚                              โ”” False
    โ”” <pytorch_lightning.trainer.trainer.Trainer object at 0x7f5e177f1790>
  File "/home/gabriele/miniconda3/envs/graphqa/lib/python3.8/site-packages/pytorch_lightning/trainer/evaluation_loop.py", line 237, in __call_eval_loop_hook_end
    self.__call_eval_loop_hook_evt(test_mode, 'end')
    โ”‚                              โ”” False
    โ”” <pytorch_lightning.trainer.trainer.Trainer object at 0x7f5e177f1790>
  File "/home/gabriele/miniconda3/envs/graphqa/lib/python3.8/site-packages/pytorch_lightning/trainer/evaluation_loop.py", line 247, in __call_eval_loop_hook_evt
    getattr(self, hook_name)()
            โ”‚     โ”” 'on_validation_epoch_end'
            โ”” <pytorch_lightning.trainer.trainer.Trainer object at 0x7f5e177f1790>
  File "/home/gabriele/miniconda3/envs/graphqa/lib/python3.8/site-packages/pytorch_lightning/trainer/callback_hook.py", line 86, in on_validation_epoch_end
    callback.on_validation_epoch_end(self, self.get_model())
    โ”‚        โ”‚                       โ”‚     โ”‚    โ”” <function TrainerIOMixin.get_model at 0x7f5e5c5d8f70>
    โ”‚        โ”‚                       โ”‚     โ”” <pytorch_lightning.trainer.trainer.Trainer object at 0x7f5e177f1790>
    โ”‚        โ”‚                       โ”” <pytorch_lightning.trainer.trainer.Trainer object at 0x7f5e177f1790>
    โ”‚        โ”” <function EarlyStopping.on_validation_epoch_end at 0x7f5e6128b5e0>
    โ”” <src.graphqa.callbacks.MyEarlyStopping object at 0x7f5e177f1910>
  File "/home/gabriele/miniconda3/envs/graphqa/lib/python3.8/site-packages/pytorch_lightning/callbacks/early_stopping.py", line 156, in on_validation_epoch_end
    self._validate_condition_metric(trainer.callback_metrics)
    โ”‚    โ”‚                          โ”‚       โ”” {'global': score         cad      gdtha     gdtts      lddt        tm
    โ”‚    โ”‚                          โ”‚         metric                                                 ...
    โ”‚    โ”‚                          โ”” <pytorch_lightning.trainer.trainer.Trainer object at 0x7f5e177f1790>
    โ”‚    โ”” <function EarlyStopping._validate_condition_metric at 0x7f5e6128b310>
    โ”” <src.graphqa.callbacks.MyEarlyStopping object at 0x7f5e177f1910>
  File "/home/gabriele/miniconda3/envs/graphqa/lib/python3.8/site-packages/pytorch_lightning/callbacks/early_stopping.py", line 117, in _validate_condition_metric
    raise RuntimeError(error_msg)
                       โ”” 'Early stopping conditioned on metric `val/global_per_target/gdtts/R` which is not available. Either add `val/global_per_targ...

RuntimeError: Early stopping conditioned on metric `val/global_per_target/gdtts/R` which is not available. Either add `val/global_per_target/gdtts/R` to the return of  validation_epoch end or modify your EarlyStopping callback to use any of the following: `global`, `local`, `global_per_target`, `local_per_decoy`, `global/gdtts`, `global/cad`, `local/lddt`, `local/cad`

So I tried to substitute "val/global_per_target/gdtts/R" with "global/gdtts" in config/train.yaml but then I get:

Epoch 0:   0%|          | 1/694 [00:05<1:00:18,  5.22s/it, loss=0.550]2020-11-18 09:34:34.125 | ERROR    | __main__:<module>:299 - An error has been caught in function '<module>', process 'MainProcess' (16806), thread 'MainThread' (140263578617664):
Traceback (most recent call last):

  File "/home/gabriele/miniconda3/envs/graphqa/lib/python3.8/runpy.py", line 194, in _run_module_as_main
    return _run_code(code, main_globals, None,
           โ”‚         โ”‚     โ”” {'__name__': '__main__', '__doc__': None, '__package__': 'src.graphqa', '__loader__': <_frozen_importlib_external.SourceFileL...
           โ”‚         โ”” <code object <module> at 0x7f91a8251b30, file "/storage/graphqa/src/graphqa/train.py", line 1>
           โ”” <function _run_code at 0x7f91a822fee0>
  File "/home/gabriele/miniconda3/envs/graphqa/lib/python3.8/runpy.py", line 87, in _run_code
    exec(code, run_globals)
         โ”‚     โ”” {'__name__': '__main__', '__doc__': None, '__package__': 'src.graphqa', '__loader__': <_frozen_importlib_external.SourceFileL...
         โ”” <code object <module> at 0x7f91a8251b30, file "/storage/graphqa/src/graphqa/train.py", line 1>

> File "/storage/graphqa/src/graphqa/train.py", line 299, in <module>
    main()
    โ”” <function main at 0x7f910ebf9c10>

  File "/storage/graphqa/src/graphqa/train.py", line 292, in main
    result = trainer.fit(model)
             โ”‚       โ”‚   โ”” LightningGraphQA(
             โ”‚       โ”‚       (model): RecursiveScriptModule(
             โ”‚       โ”‚         original_name=GraphQA
             โ”‚       โ”‚         (embeddings): RecursiveScriptModule(
             โ”‚       โ”‚           ...
             โ”‚       โ”” <function Trainer.fit at 0x7f91457f3280>
             โ”” <pytorch_lightning.trainer.trainer.Trainer object at 0x7f910ca17790>

  File "/home/gabriele/miniconda3/envs/graphqa/lib/python3.8/site-packages/pytorch_lightning/trainer/states.py", line 48, in wrapped_fn
    result = fn(self, *args, **kwargs)
             โ”‚  โ”‚      โ”‚       โ”” {}
             โ”‚  โ”‚      โ”” (LightningGraphQA(
             โ”‚  โ”‚          (model): RecursiveScriptModule(
             โ”‚  โ”‚            original_name=GraphQA
             โ”‚  โ”‚            (embeddings): RecursiveScriptModule(
             โ”‚  โ”‚             ...
             โ”‚  โ”” <pytorch_lightning.trainer.trainer.Trainer object at 0x7f910ca17790>
             โ”” <function Trainer.fit at 0x7f91457f31f0>
  File "/home/gabriele/miniconda3/envs/graphqa/lib/python3.8/site-packages/pytorch_lightning/trainer/trainer.py", line 1073, in fit
    results = self.accelerator_backend.train(model)
              โ”‚    โ”‚                   โ”‚     โ”” LightningGraphQA(
              โ”‚    โ”‚                   โ”‚         (model): RecursiveScriptModule(
              โ”‚    โ”‚                   โ”‚           original_name=GraphQA
              โ”‚    โ”‚                   โ”‚           (embeddings): RecursiveScriptModule(
              โ”‚    โ”‚                   โ”‚             ...
              โ”‚    โ”‚                   โ”” <function GPUBackend.train at 0x7f914a42ee50>
              โ”‚    โ”” <pytorch_lightning.accelerators.gpu_backend.GPUBackend object at 0x7f910eb19940>
              โ”” <pytorch_lightning.trainer.trainer.Trainer object at 0x7f910ca17790>
  File "/home/gabriele/miniconda3/envs/graphqa/lib/python3.8/site-packages/pytorch_lightning/accelerators/gpu_backend.py", line 51, in train
    results = self.trainer.run_pretrain_routine(model)
              โ”‚    โ”‚       โ”‚                    โ”” LightningGraphQA(
              โ”‚    โ”‚       โ”‚                        (model): RecursiveScriptModule(
              โ”‚    โ”‚       โ”‚                          original_name=GraphQA
              โ”‚    โ”‚       โ”‚                          (embeddings): RecursiveScriptModule(
              โ”‚    โ”‚       โ”‚                            ...
              โ”‚    โ”‚       โ”” <function Trainer.run_pretrain_routine at 0x7f91457f3430>
              โ”‚    โ”” <pytorch_lightning.trainer.trainer.Trainer object at 0x7f910ca17790>
              โ”” <pytorch_lightning.accelerators.gpu_backend.GPUBackend object at 0x7f910eb19940>
  File "/home/gabriele/miniconda3/envs/graphqa/lib/python3.8/site-packages/pytorch_lightning/trainer/trainer.py", line 1239, in run_pretrain_routine
    self.train()
    โ”‚    โ”” <function TrainerTrainLoopMixin.train at 0x7f91457df310>
    โ”” <pytorch_lightning.trainer.trainer.Trainer object at 0x7f910ca17790>
  File "/home/gabriele/miniconda3/envs/graphqa/lib/python3.8/site-packages/pytorch_lightning/trainer/training_loop.py", line 394, in train
    self.run_training_epoch()
    โ”‚    โ”” <function TrainerTrainLoopMixin.run_training_epoch at 0x7f91457df4c0>
    โ”” <pytorch_lightning.trainer.trainer.Trainer object at 0x7f910ca17790>
  File "/home/gabriele/miniconda3/envs/graphqa/lib/python3.8/site-packages/pytorch_lightning/trainer/training_loop.py", line 529, in run_training_epoch
    monitor_metrics = deepcopy(self.callback_metrics)
                      โ”‚        โ”‚    โ”” {'val_scores': {'global': score                                  tm            ...       cad          
                      โ”‚        โ”‚                            ...
                      โ”‚        โ”” <pytorch_lightning.trainer.trainer.Trainer object at 0x7f910ca17790>
                      โ”” <function deepcopy at 0x7f914bc543a0>
  File "/home/gabriele/miniconda3/envs/graphqa/lib/python3.8/copy.py", line 146, in deepcopy
    y = copier(x, memo)
        โ”‚      โ”‚  โ”” <unprintable dict object>
        โ”‚      โ”” {'val_scores': {'global': score                                  tm            ...       cad          
        โ”‚                              ...
        โ”” <function _deepcopy_dict at 0x7f914bc545e0>
  File "/home/gabriele/miniconda3/envs/graphqa/lib/python3.8/copy.py", line 230, in _deepcopy_dict
    y[deepcopy(key, memo)] = deepcopy(value, memo)
    โ”‚ โ”‚        โ”‚    โ”‚        โ”‚        โ”‚      โ”” <unprintable dict object>
    โ”‚ โ”‚        โ”‚    โ”‚        โ”‚        โ”” {'global/gdtts': <Figure size 300x300 with 1 Axes>, 'global/cad': <Figure size 300x300 with 1 Axes>, 'local/lddt': <Figure si...
    โ”‚ โ”‚        โ”‚    โ”‚        โ”” <function deepcopy at 0x7f914bc543a0>
    โ”‚ โ”‚        โ”‚    โ”” <unprintable dict object>
    โ”‚ โ”‚        โ”” 'val_figures'
    โ”‚ โ”” <function deepcopy at 0x7f914bc543a0>
    โ”” {'val_scores': {'global': score                                  tm            ...       cad          
                            ...
  File "/home/gabriele/miniconda3/envs/graphqa/lib/python3.8/copy.py", line 146, in deepcopy
    y = copier(x, memo)
        โ”‚      โ”‚  โ”” <unprintable dict object>
        โ”‚      โ”” {'global/gdtts': <Figure size 300x300 with 1 Axes>, 'global/cad': <Figure size 300x300 with 1 Axes>, 'local/lddt': <Figure si...
        โ”” <function _deepcopy_dict at 0x7f914bc545e0>
  File "/home/gabriele/miniconda3/envs/graphqa/lib/python3.8/copy.py", line 230, in _deepcopy_dict
    y[deepcopy(key, memo)] = deepcopy(value, memo)
    โ”‚ โ”‚        โ”‚    โ”‚        โ”‚        โ”‚      โ”” <unprintable dict object>
    โ”‚ โ”‚        โ”‚    โ”‚        โ”‚        โ”” <Figure size 300x300 with 1 Axes>
    โ”‚ โ”‚        โ”‚    โ”‚        โ”” <function deepcopy at 0x7f914bc543a0>
    โ”‚ โ”‚        โ”‚    โ”” <unprintable dict object>
    โ”‚ โ”‚        โ”” 'global/gdtts'
    โ”‚ โ”” <function deepcopy at 0x7f914bc543a0>
    โ”” {}
  File "/home/gabriele/miniconda3/envs/graphqa/lib/python3.8/copy.py", line 172, in deepcopy
    y = _reconstruct(x, memo, *rv)
        โ”‚            โ”‚  โ”‚      โ”” (<function __newobj__ at 0x7f91a81ac790>, (<class 'matplotlib.figure.Figure'>,), {'_stale': True, 'stale_callback': None, 'fi...
        โ”‚            โ”‚  โ”” <unprintable dict object>
        โ”‚            โ”” <Figure size 300x300 with 1 Axes>
        โ”” <function _reconstruct at 0x7f914bc54790>
  File "/home/gabriele/miniconda3/envs/graphqa/lib/python3.8/copy.py", line 270, in _reconstruct
    state = deepcopy(state, memo)
            โ”‚        โ”‚      โ”” <unprintable dict object>
            โ”‚        โ”” {'_stale': True, 'stale_callback': None, 'figure': None, '_transform': None, '_transformSet': False, '_visible': True, '_anim...
            โ”” <function deepcopy at 0x7f914bc543a0>
  File "/home/gabriele/miniconda3/envs/graphqa/lib/python3.8/copy.py", line 146, in deepcopy
    y = copier(x, memo)
        โ”‚      โ”‚  โ”” <unprintable dict object>
        โ”‚      โ”” {'_stale': True, 'stale_callback': None, 'figure': None, '_transform': None, '_transformSet': False, '_visible': True, '_anim...
        โ”” <function _deepcopy_dict at 0x7f914bc545e0>
  File "/home/gabriele/miniconda3/envs/graphqa/lib/python3.8/copy.py", line 230, in _deepcopy_dict
    y[deepcopy(key, memo)] = deepcopy(value, memo)
    โ”‚ โ”‚        โ”‚    โ”‚        โ”‚        โ”‚      โ”” <unprintable dict object>
    โ”‚ โ”‚        โ”‚    โ”‚        โ”‚        โ”” Bbox([[0.0, 0.0], [3.0, 3.0]])
    โ”‚ โ”‚        โ”‚    โ”‚        โ”” <function deepcopy at 0x7f914bc543a0>
    โ”‚ โ”‚        โ”‚    โ”” <unprintable dict object>
    โ”‚ โ”‚        โ”” 'bbox_inches'
    โ”‚ โ”” <function deepcopy at 0x7f914bc543a0>
    โ”” {'_stale': True, 'stale_callback': None, 'figure': None, '_transform': None, '_transformSet': False, '_visible': True, '_anim...
  File "/home/gabriele/miniconda3/envs/graphqa/lib/python3.8/copy.py", line 153, in deepcopy
    y = copier(memo)
        โ”‚      โ”” <unprintable dict object>
        โ”” <bound method TransformNode.__copy__ of Bbox([[0.0, 0.0], [3.0, 3.0]])>
  File "/home/gabriele/miniconda3/envs/graphqa/lib/python3.8/site-packages/matplotlib/transforms.py", line 143, in __copy__
    raise NotImplementedError(

NotImplementedError: TransformNode instances can not be copied. Consider using frozen() instead.

What I'm missing?

Unable to train outside of docker

Hello, I enjoyed your work. Thank you for sharing the code. I'm facing some issues training the model. I've already downloaded and placed the data folder. I believe the issue is with parameters, I couldn't notice anything special for the docker run to pass the parameters (possibly configs) to the runner. So, I modified to command to work outside of the docker environment. Here is the command:

python -m src.graphqa.train config/train.yaml --model config/model.yaml --session config/session.yaml --in_memory=yes

and here is the error message:

usage: train.py [-h] [--logger [LOGGER]] [--checkpoint_callback [CHECKPOINT_CALLBACK]] [--default_root_dir DEFAULT_ROOT_DIR] [--gradient_clip_val GRADIENT_CLIP_VAL] [--process_position PROCESS_POSITION] [--num_nodes NUM_NODES] [--num_processes NUM_PROCESSES] [--gpus GPUS] [--auto_select_gpus [AUTO_SELECT_GPUS]] [--tpu_cores TPU_CORES] [--log_gpu_memory LOG_GPU_MEMORY] [--progress_bar_refresh_rate PROGRESS_BAR_REFRESH_RATE] [--overfit_batches OVERFIT_BATCHES] [--track_grad_norm TRACK_GRAD_NORM] [--check_val_every_n_epoch CHECK_VAL_EVERY_N_EPOCH] [--fast_dev_run [FAST_DEV_RUN]] [--accumulate_grad_batches ACCUMULATE_GRAD_BATCHES] [--max_epochs MAX_EPOCHS] [--min_epochs MIN_EPOCHS] [--max_steps MAX_STEPS] [--min_steps MIN_STEPS] [--limit_train_batches LIMIT_TRAIN_BATCHES] [--limit_val_batches LIMIT_VAL_BATCHES] [--limit_test_batches LIMIT_TEST_BATCHES] [--limit_predict_batches LIMIT_PREDICT_BATCHES] [--val_check_interval VAL_CHECK_INTERVAL] [--flush_logs_every_n_steps FLUSH_LOGS_EVERY_N_STEPS] [--log_every_n_steps LOG_EVERY_N_STEPS] [--accelerator ACCELERATOR] [--sync_batchnorm [SYNC_BATCHNORM]] [--precision PRECISION] [--weights_summary WEIGHTS_SUMMARY] [--weights_save_path WEIGHTS_SAVE_PATH] [--num_sanity_val_steps NUM_SANITY_VAL_STEPS] [--truncated_bptt_steps TRUNCATED_BPTT_STEPS] [--resume_from_checkpoint RESUME_FROM_CHECKPOINT] [--profiler [PROFILER]] [--benchmark [BENCHMARK]] [--deterministic [DETERMINISTIC]] [--reload_dataloaders_every_epoch [RELOAD_DATALOADERS_EVERY_EPOCH]] [--auto_lr_find [AUTO_LR_FIND]] [--replace_sampler_ddp [REPLACE_SAMPLER_DDP]] [--terminate_on_nan [TERMINATE_ON_NAN]] [--auto_scale_batch_size [AUTO_SCALE_BATCH_SIZE]] [--prepare_data_per_node [PREPARE_DATA_PER_NODE]] [--plugins PLUGINS] [--amp_backend AMP_BACKEND] [--amp_level AMP_LEVEL] [--distributed_backend DISTRIBUTED_BACKEND] [--automatic_optimization [AUTOMATIC_OPTIMIZATION]] [--move_metrics_to_cpu [MOVE_METRICS_TO_CPU]] [--enable_pl_optimizer [ENABLE_PL_OPTIMIZER]] [--multiple_trainloader_mode MULTIPLE_TRAINLOADER_MODE] [--stochastic_weight_avg [STOCHASTIC_WEIGHT_AVG]] [--resume RESUME] [rest [rest ...]] train.py: error: unrecognized arguments: --model config/model.yaml --session config/session.yaml --in_memory=yes

If I remove the unrecognized arguments, it passes the error but then I'm getting error because of the PyTorch-geometric version as follows: RuntimeError: The 'data' object was created by an older version of PyG. If this error occurred while loading an already existing dataset, remove the 'processed/' directory in the dataset's root folder and try again.

I tried the suggested 'fix' and removed the processed folder from CASP{i} where i in 9..13. Then I get the following error: ValueError: With n_samples=0, test_size=None and train_size=0.85, the resulting train set will be empty. Adjust any of the aforementioned parameters.

This is probably because the script directly tries to read processed files rather than checking/generating them again. Hence, n_samples=0

Edit: Solved by writing a custom script to load graphs with older version (1.7.2) of torch.geometric.data.Data. Then I convert them to a dictionary using to_dict() method. Then, with the newer torch_geometric (2.0.1) version I load them back with from_dict() method. This fixes the preprocessed data loading problem for recent versions of torch geometric.

But unfortunately, even after the fixes mentioned above the results are nowhere near the reported results. After a few runs, best RMSE I got was 0.165 where it was reported as 0.130. Please note that I trained using the provided train.yaml file. Although the hardware is different, the differences between reported and reproduced results are very high. I would like to contribute to improving reproducibility but as of right now I hit a roadblock. I hope the authors can provide some clarification to this.

Another problem I've noticed is train.raw.yml is not runnable, it returns the following error: AttributeError: 'NoneType' object has no attribute 'out_edge_feats'

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.