centroids-reid
centroids-reid copied to clipboard
Train with Resnet18
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