def encoder_block(inp, max_pool, in_channels):
conv = torch.nn.Conv2d(in_channels=in_channels, out_channels=64, kernel_size=3, padding='same')(inp.double())
relu = torch.nn.ReLU()(conv)
conv = torch.nn.Conv2d(in_channels=64, out_channels=64, kernel_size=3, padding='same')(relu)
relu = torch.nn.ReLU()(conv)
if max_pool:
return torch.nn.MaxPool2d(2,2)(relu)
return relu
test_load = nib.load(fpath).get_fdata()
test_numpy = test_load[:,:,0].reshape(1,1,256,256).astype('float64')
tens = torch.DoubleTensor(test_numpy)
out = encoder_block(tens, True, 1)
print(out)
This code should take a nifti file from my local storage, convert it to a numpy array then perform some convolutions on the 2d image as a basic test just for now.
The error happens on the first conv2d and says RuntimeError: expected scalar type Double but found Float
. I’m not sure what else I can do to convert my data to float.