numpy uses float64 by default, which is why your Dataset seems to contain data in this type.
You could transform the data using:
dataset.push((np.random.rand(parameters["input_dimen"]).astype(np.float32), np.random.randint(0,1)))

or sample directly from PyTorch:
dataset.push((torch.empty(parameters['input_dimen']).uniform_(), torch.randint(0,1, (1,)))

Note, that np.random.randint(0, 1) and torch.randint(0, 1, (1,)) will always sample a 0, since it’s sampling from [0, 1).
If you want to get values of 0 and 1, you should pass 2 for the high value.
Also, it seems you are explicitly casting your data and target to double in your training loop.
If you would like to use float64 for your calculations, you should also cast the model to double.