Hey @Isaac_Kargar,
I fixed this by converting both datasets to the same tensor type (both code snippets in the original post unchanged), as follows:
#converting datasets to tensors
ext_data_tensor_train = torch.tensor(ext_data_train.values, requires_grad=False, dtype=torch.float)
ext_data_tensor_test = torch.tensor(ext_data_test.values, requires_grad=False, dtype=torch.float)

#batching data accordingly
#batching training data
mini_b2 = torch.utils.data.DataLoader(torch.utils.data.TensorDataset(ext_data_tensor_train), 
                                       batch_size=100, shuffle=False) 
#batching testing data
mini_b2_test = torch.utils.data.DataLoader(torch.utils.data.TensorDataset(ext_data_tensor_test), 
                                       batch_size=100, shuffle=False)

Looking at the definition of the Net class, in the forward pass:
Before the concat operation:
x.shape is [batch_size, 240]
attributes.shape is [batch_size, 19]
After the concat operation:
x = torch.cat((x, attributes), 1)

x.shape is now [batch_size, 240 + 19]