yw0208 / STAF

STAF: 3D Human Mesh Recovery from Video with Spatio-Temporal Alignment Fusion
MIT License
47 stars 4 forks source link

I meet a bug during the training #3

Closed lisaner000 closed 6 months ago

lisaner000 commented 8 months ago

Epoch 1/45Traceback (most recent call last): File "train.py", line 142, in main(cfg) File "train.py", line 133, in main debug_freq=cfg.DEBUG_FREQ, File "/root/autodl-tmp/STAF-main/lib/core/trainer.py", line 342, in fit self.train() File "/root/autodl-tmp/STAF-main/lib/core/trainer.py", line 149, in train target_2d = next(self.train_2d_iter) File "/root/miniconda3/envs/yzy_staf/lib/python3.7/site-packages/torch/utils/data/dataloader.py", line 363, in next data = self._next_data() File "/root/miniconda3/envs/yzy_staf/lib/python3.7/site-packages/torch/utils/data/dataloader.py", line 989, in _next_data return self._process_data(data) File "/root/miniconda3/envs/yzy_staf/lib/python3.7/site-packages/torch/utils/data/dataloader.py", line 1014, in _process_data data.reraise() File "/root/miniconda3/envs/yzy_staf/lib/python3.7/site-packages/torch/_utils.py", line 395, in reraise raise self.exc_type(msg) ValueError: Caught ValueError in DataLoader worker process 0. Original Traceback (most recent call last): File "/root/miniconda3/envs/yzy_staf/lib/python3.7/site-packages/torch/utils/data/_utils/worker.py", line 185, in _worker_loop data = fetcher.fetch(index) File "/root/miniconda3/envs/yzy_staf/lib/python3.7/site-packages/torch/utils/data/_utils/fetch.py", line 44, in fetch data = [self.dataset[idx] for idx in possibly_batched_index] File "/root/miniconda3/envs/yzy_staf/lib/python3.7/site-packages/torch/utils/data/_utils/fetch.py", line 44, in data = [self.dataset[idx] for idx in possibly_batched_index] File "/root/miniconda3/envs/yzy_staf/lib/python3.7/site-packages/torch/utils/data/dataset.py", line 207, in getitem return self.datasets[dataset_idx][sample_idx] File "/root/autodl-tmp/STAF-main/lib/dataset/insta.py", line 59, in getitem return self.get_single_item(index) File "/root/autodl-tmp/STAF-main/lib/dataset/insta.py", line 70, in get_single_item kp_2d = self.get_sequence(start_index, end_index, self.db['joints2D']) File "h5py/_objects.pyx", line 54, in h5py._objects.with_phil.wrapper File "h5py/_objects.pyx", line 55, in h5py._objects.with_phil.wrapper File "/root/miniconda3/envs/yzy_staf/lib/python3.7/site-packages/h5py/_hl/group.py", line 264, in getitem oid = h5o.open(self.id, self._e(name), lapl=self._lapl) File "h5py/_objects.pyx", line 54, in h5py._objects.with_phil.wrapper File "h5py/_objects.pyx", line 55, in h5py._objects.with_phil.wrapper File "h5py/h5o.pyx", line 190, in h5py.h5o.open ValueError: Not a location (invalid object ID) About this error, I can't solve it. Can you give me some advice?

yw0208 commented 8 months ago

I guess there is something wrong with "insta_train_db.h5". Do you download it from VIBE? And the training labels are from TCMR and PyMAF(EFT labels), you should download them first. And NOTE if you want to reproduce STAF, there are lots of codes about loading data needing to be changed. Because I used to extract features and save them, then use the features as input during training. But it will cost huge storage space. So I suggest you change the codes in "dataset".py, and change self.generateor and related codes in trainer.py.