You are passing a string as the second argument in:
ImageNet_t(imagenet_traindata,'./tiny-imagenet-200')

which will be assigned to ImageNet_dataset in the __init__:
def __init__(self, root, ImageNet_dataset,

which will raise this error, so you might either want to pass the arguments in a different order, remove the root argument etc.