The easiest approach is to use torch.save and torch.load that will handle the torch.Tensor serialization and deserialization respectively.
With this in mind, here are the functions.  The first one appends the predictions of a model and the second one reads them in the form of a list.
def save_data(data, path):
    if isinstance(data, torch.Tensor):
        data = [data]
    
    with open(path, 'ab') as f:
        for d in data:
            torch.save(d, f)

def load_data(path):
    data = []
    with open(path, 'rb') as f:
        try:
            while True:
                data.append(torch.load(f))
        except EOFError:
            pass    

    return data