Hello,
Would like to politely request another set of eyes on some problems we’re running into trying to train our model.
Background: We’re using complex64 dtype tensors generated from torchaudio stft().  We are using a git repo, complexPyTorch 3, which provides complex versions of layers etc.  We are hoping to train the model on GPU, and we have successfully trained other models on this same gpu/cuda/pytorch setup.
Here’s some relevant code from our training file:
device = torch.device("cuda")
net = model(params)
net = net.to(device)

criterion = nn.MSELoss()
optimizer = optim.Adam(net.parameters(), lr=learning_rate)

# Training

start_time = round(time())

for epoch in range(10):  # loop over the dataset multiple times

    running_loss = 0.0

    for i, data in enumerate(dataLoader, 0):

        # get the inputs; data is a list of [inputs, labels]

        inputs = data['song']

        labels = data['vocal']

        inputs = inputs.to(device)

        labels = labels.to(device)

        optimizer.zero_grad()

        outputs = net(inputs)

        loss = criterion(outputs, labels)

        loss.backward()

        optimizer.step()

        running_loss += loss.item()

print('Finished Training', str(round(time()) - start_time))

PATH = './PhATPUSSE.pth'

torch.save(net.state_dict(), PATH)

So, we attempt to move the model and all data to the GPU.
When we try to train we get this error:
RuntimeError: Tensor for argument #3 'mat2' is on CPU, but expected it to be on GPU (while checking arguments for addmm)
We followed the trace to figure out it is the weight tensors of any of our nn.Linear layers that do not make it onto the GPU.  Many other tensors do successfully make it to the GPU, such as our data and the tensors associated with Conv2d layers.  Any tips are appreciated, thanks so much!  If you would like to see any of the architecture code etc. lmk