TerenceCYJ / S2HAND

Model-based 3D Hand Reconstruction via Self-Supervised Learning, CVPR2021
104 stars 13 forks source link

something wrong with the concatdataloader for the newer torch #8

Open Cryst4L9527 opened 2 years ago

Cryst4L9527 commented 2 years ago

Hi! I'm going to run the code on the ubuntu with a 3090Ti,so it's necessary that I should use the pytorch>=1.7. but here is something wrong with the concatdataloader:

Traceback (most recent call last): File "./examples/train.py", line 306, in main( File "./examples/train.py", line 268, in main TrainVal(mode_train, dat_name_val, current_epoch, val_loader, model, None, requires, args, writer) File "./examples/train.py", line 36, in TrainVal for idx, (sample) in enumerate(train_loader): File "/home/user/Desktop/human_hand/S2HAND/examples/data/datautils.py", line 19, in next if isinstance(loader.dataset, Subset): AttributeError: '_MultiProcessingDataLoaderIter' object has no attribute 'dataset' Exception in thread Thread-1:

Is there anyone can tell me how to change this code?thx

ykk648 commented 2 years ago

may caused by your torch version, try this codes can fix it but u need extra more changes to make the codes run on higher pytorch version.

I run this repo on torch 1.9 successed but unneccessary.

dat_name = 'FreiHand' batch["dataset"] = dat_name if dat_name == "stereohands" or dat_name == "zimsynth": batch["root"] = "palm" else: batch["root"] = "wrist" if dat_name == "stereohands": batch["use_stereohands"] = True else: batch["use_stereohands"] = False batch["split"] = 'train'