centroids-reid icon indicating copy to clipboard operation
centroids-reid copied to clipboard

Train with Resnet18

Open mive93 opened this issue 2 years ago • 3 comments

Thank you for the nice work,

I wanted to know how to train the model using a resnet18 backbone. I have changed the config file, setting the model NAME to resnet18, but there is no pretrain available. Then, I set PRETRAINED to False, but I got an error:

Error
/home/micaela/repos/centroids-reid/losses/triplet_loss.py:39: UserWarning: This overload of addmm_ is deprecated:
        addmm_(Number beta, Number alpha, Tensor mat1, Tensor mat2)
Consider using one of the following signatures instead:
        addmm_(Tensor mat1, Tensor mat2, *, Number beta, Number alpha) (Triggered internally at  /pytorch/torch/csrc/utils/python_arg_parser.cpp:1005.)
  dist.addmm_(1, -2, x.float(), y.float().t())
Epoch 0:   0%|                                                                                                     | 0/207 [00:01<?, ?it/s]
Traceback (most recent call last):
  File "train_ctl_model.py", line 202, in <module>
    run_main(cfg, CTLModel, logger_save_dir)
  File "/home/micaela/repos/centroids-reid/utils/misc.py", line 179, in run_main
    run_single(cfg, method, logger_save_dir)
  File "/home/micaela/repos/centroids-reid/utils/misc.py", line 157, in run_single
    method, train_dataloader=train_loader, val_dataloaders=[val_dataloader]
  File "/home/micaela/anaconda3/envs/centroids-reid/lib/python3.7/site-packages/pytorch_lightning/trainer/trainer.py", line 473, in fit
    results = self.accelerator_backend.train()
  File "/home/micaela/anaconda3/envs/centroids-reid/lib/python3.7/site-packages/pytorch_lightning/accelerators/ddp_accelerator.py", line 152, in train
    results = self.ddp_train(process_idx=self.task_idx, model=model)
  File "/home/micaela/anaconda3/envs/centroids-reid/lib/python3.7/site-packages/pytorch_lightning/accelerators/ddp_accelerator.py", line 305, in ddp_train
    results = self.train_or_test()
  File "/home/micaela/anaconda3/envs/centroids-reid/lib/python3.7/site-packages/pytorch_lightning/accelerators/accelerator.py", line 69, in train_or_test
    results = self.trainer.train()
  File "/home/micaela/anaconda3/envs/centroids-reid/lib/python3.7/site-packages/pytorch_lightning/trainer/trainer.py", line 524, in train
    self.train_loop.run_training_epoch()
  File "/home/micaela/anaconda3/envs/centroids-reid/lib/python3.7/site-packages/pytorch_lightning/trainer/training_loop.py", line 572, in run_training_epoch
    batch_output = self.run_training_batch(batch, batch_idx, dataloader_idx)
  File "/home/micaela/anaconda3/envs/centroids-reid/lib/python3.7/site-packages/pytorch_lightning/trainer/training_loop.py", line 737, in run_training_batch
    self.trainer.hiddens
  File "/home/micaela/anaconda3/envs/centroids-reid/lib/python3.7/site-packages/pytorch_lightning/trainer/training_loop.py", line 339, in training_step
    training_step_output = self.trainer.accelerator_backend.training_step(args)
  File "/home/micaela/anaconda3/envs/centroids-reid/lib/python3.7/site-packages/pytorch_lightning/accelerators/ddp_accelerator.py", line 158, in training_step
    return self._step(args)
  File "/home/micaela/anaconda3/envs/centroids-reid/lib/python3.7/site-packages/pytorch_lightning/accelerators/ddp_accelerator.py", line 170, in _step
    output = self.trainer.model(*args)
  File "/home/micaela/anaconda3/envs/centroids-reid/lib/python3.7/site-packages/torch/nn/modules/module.py", line 889, in _call_impl
    result = self.forward(*input, **kwargs)
  File "/home/micaela/anaconda3/envs/centroids-reid/lib/python3.7/site-packages/pytorch_lightning/overrides/data_parallel.py", line 179, in forward
    output = self.module.training_step(*inputs[0], **kwargs[0])
  File "train_ctl_model.py", line 72, in training_step
    features_real, class_labels_real
  File "/home/micaela/anaconda3/envs/centroids-reid/lib/python3.7/site-packages/torch/nn/modules/module.py", line 889, in _call_impl
    result = self.forward(*input, **kwargs)
  File "/home/micaela/repos/centroids-reid/losses/center_loss.py", line 37, in forward
    distmat.addmm_(1, -2, x.float(), self.centers.t())  ## Original
RuntimeError: mat1 dim 1 must match mat2 dim 0

Could you please clarify how to do that, or where to find or compute the pretrain for Resnet18?

Thank you in advance, Micaela

mive93 avatar Mar 15 '22 13:03 mive93