TerenceCYJ/S2HAND

something wrong with the concatdataloader for the newer torch

Opened this issue · 1 comments

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

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'