Normally, model.double() is not recommended. double model/data means DOUBLE GRADIDENT AND DOUBLE MEMORY.
Unless double precision is important to you, the best solution is return self.samples[i].unsqueeze(0).float(), self.labels[i].unsqueeze(0).float().