I assume the variable Input and Target are sequences of same length (365, right?), then 365 is not your batch_size (btw, 365 is not a typical number for batch_size).
batch_size = 8
learning_rate=0.01
epochs=5
days_elapsed = 4

class LoadData(Dataset):
    def __init__(self, inputs, targets, days_elapsed):
        assert len(inputs) == len(targets)
        self.inputs = inpus
        self.targets = targets
        self.days_elapsed = days_elapsed

    def __len__(self):
        return len(self.targets) - self.days_elapsed + 1

    def __getitem__(self, idx):
        return {'inputs': [self.inputs[i] for i in range(idx + self.days_elapsed)],
                'target': self.targets[idx + self.days_elapsed - 1]}

train_dataset = LoadData(Input, Target)
# usually set shuffle=True
train_loader = DataLoader(train_dataset, batch_size=batch_size, shuffle=True)

This is a minimal example. In practice, you might want to feed NN an array(or Tensor) rather than a list.