Currently the hashing of generic objects is a bit brittle, for example torch.Tensor objects don't have an empty __dict__ so they all get hashed to the same value. An option is to iterate through all the attributes in __dir__ and find all the non-method/property attributes to make a hash out of, this could be quite difficult to do generically though...