coleygroup / molpal

active learning for accelerated high-throughput virtual screening
MIT License
159 stars 36 forks source link

MPN model error #11

Closed rebirthjin closed 2 years ago

rebirthjin commented 2 years ago

Hello! Thanks for great job.

I am trying to run a lookup objective using mpn model.

However, I got a error message:

  File "run.py", line 71, in <module>
    main()
  File "run.py", line 55, in main
    explorer.run()
  File "/home/njgoo/Data1/program/molpal/molpal/explorer.py", line 326, in run
    self.explore_batch()
  File "/home/njgoo/Data1/program/molpal/molpal/explorer.py", line 396, in explore_batch
    self._update_model()
  File "/home/njgoo/Data1/program/molpal/molpal/explorer.py", line 729, in _update_model
    self.model.train(
  File "/home/njgoo/Data1/program/molpal/molpal/models/mpnmodels.py", line 396, in train
    return self.model.train(xs, ys)
  File "/home/njgoo/Data1/program/molpal/molpal/models/mpnmodels.py", line 181, in train
    trainer.fit(lit_model, train_dataloader, val_dataloader)
  File "/home/njgoo/Data1/program/anaconda3/envs/molpal/lib/python3.8/site-packages/pytorch_lightning/trainer/trainer.py", line 735, in fit
    self._call_and_handle_interrupt(
  File "/home/njgoo/Data1/program/anaconda3/envs/molpal/lib/python3.8/site-packages/pytorch_lightning/trainer/trainer.py", line 682, in _call_and_handle_interrupt
    return trainer_fn(*args, **kwargs)
  File "/home/njgoo/Data1/program/anaconda3/envs/molpal/lib/python3.8/site-packages/pytorch_lightning/trainer/trainer.py", line 770, in _fit_impl
    self._run(model, ckpt_path=ckpt_path)
  File "/home/njgoo/Data1/program/anaconda3/envs/molpal/lib/python3.8/site-packages/pytorch_lightning/trainer/trainer.py", line 1193, in _run
    self._dispatch()
  File "/home/njgoo/Data1/program/anaconda3/envs/molpal/lib/python3.8/site-packages/pytorch_lightning/trainer/trainer.py", line 1272, in _dispatch
    self.training_type_plugin.start_training(self)
  File "/home/njgoo/Data1/program/anaconda3/envs/molpal/lib/python3.8/site-packages/pytorch_lightning/plugins/training_type/training_type_plugin.py", line 202, in start_training
    self._results = trainer.run_stage()
  File "/home/njgoo/Data1/program/anaconda3/envs/molpal/lib/python3.8/site-packages/pytorch_lightning/trainer/trainer.py", line 1282, in run_stage
    return self._run_train()
  File "/home/njgoo/Data1/program/anaconda3/envs/molpal/lib/python3.8/site-packages/pytorch_lightning/trainer/trainer.py", line 1312, in _run_train
    self.fit_loop.run()
  File "/home/njgoo/Data1/program/anaconda3/envs/molpal/lib/python3.8/site-packages/pytorch_lightning/loops/base.py", line 145, in run
    self.advance(*args, **kwargs)
  File "/home/njgoo/Data1/program/anaconda3/envs/molpal/lib/python3.8/site-packages/pytorch_lightning/loops/fit_loop.py", line 234, in advance
    self.epoch_loop.run(data_fetcher)
  File "/home/njgoo/Data1/program/anaconda3/envs/molpal/lib/python3.8/site-packages/pytorch_lightning/loops/base.py", line 145, in run
    self.advance(*args, **kwargs)
  File "/home/njgoo/Data1/program/anaconda3/envs/molpal/lib/python3.8/site-packages/pytorch_lightning/loops/epoch/training_epoch_loop.py", line 220, in advance
    self.trainer.call_hook("on_train_batch_end", batch_end_outputs, batch, batch_idx, **extra_kwargs)
  File "/home/njgoo/Data1/program/anaconda3/envs/molpal/lib/python3.8/site-packages/pytorch_lightning/trainer/trainer.py", line 1477, in call_hook
    callback_fx(*args, **kwargs)
  File "/home/njgoo/Data1/program/anaconda3/envs/molpal/lib/python3.8/site-packages/pytorch_lightning/trainer/callback_hook.py", line 179, in on_train_batch_end
    callback.on_train_batch_end(self, self.lightning_module, outputs, batch, batch_idx, 0)
  File "/home/njgoo/Data1/program/molpal/molpal/models/mpnn/ptl/callbacks.py", line 41, in on_train_batch_end
    super().on_train_batch_end(
TypeError: on_train_batch_end() takes 6 positional arguments but 7 were given

How do I fix this problem?

Thank you!!

davidegraff commented 2 years ago

What package versions are you using?

davidegraff commented 2 years ago

looks to be a pytorch 1.4.X -> 1.5+ backwards compatibility problem. on_train_batch_end() had an additional dataloader_idx argument in 1.4.X which looks to have been removed in 1.5+. I just pushed a hotfix (#12), but let me know if you're still having issues.

rebirthjin commented 2 years ago

Thank you for kind response.

As your mention, I have changed version of pytorch_lighting into 1.4.x.

Then, It work finely! Have a Good day :)