Thank you @ptrblck for your response!
Actually the error is not due to that and for removing the above confusion of numpy, I had done some changes in my code:
import torch.nn as nn
import torch.nn.functional as F


class Net(nn.Module):
    def __init__(self):
        super(Net, self).__init__()
        self.conv1 = nn.Conv2d(3, 6, 5)
        self.pool = nn.MaxPool2d(2, 2)
        self.conv2 = nn.Conv2d(6, 8, 6)

        self.q_params = nn.Parameter(q_delta * torch.randn(train_Rdepth * n_qubits, requires_grad=True))

        self.fc1 = nn.Linear(1 * 4 * 4, 120)
        
        self.fc2 = nn.Linear(120, 84)
       
        self.fc3 = nn.Linear(84, 10)
       

    def forward(self, x):
        x = self.pool(F.relu(self.conv1(x)))
        x = self.pool(F.relu(self.conv2(x)))
        
        pre_out = x 

        q_in = torch.tanh(pre_out) * np.pi / 2.0   

        q_out = torch.Tensor(0,1, q_in.shape[2], q_in.shape[3])
        q_out = q_out.to(device)
        for elem in q_in:
            
            q_out_elemm = q_net(elem,self.q_params)
           
            q_out_elem = q_out_elemm.float().reshape((1,1,q_in.shape[2], q_in.shape[3]))
           
            q_out = torch.cat((q_out, q_out_elem))
         
        x = q_out
        x = x.view(-1, 1 * 4 * 4)
        
        x = F.relu(self.fc1(x))
       
        x = F.relu(self.fc2(x))
        x = self.fc3(x)
        return x


net = Net()
net.to(device)

Now you can clearly see there is no numpy separately used here and also i assure that in q_net alos , i don’t have numpy and I had used only tensors everywhere to remove the confusion.
But still I am getting same error.
Later, I try to run the colab notebook TRAINING A CLASSIFIER which is the tutorial and in that I run all cells in it and everything is fine.
But as soon as I change the part
import torch.optim as optim

criterion = nn.CrossEntropyLoss()
optimizer = optim.SGD(net.parameters(), lr=0.001, momentum=0.9)

TO
import torch.optim as optim

criterion = nn.CrossEntropyLoss()
optimizer = optim.SGD(net.named_parameters(), lr=0.001, momentum=0.9)

It is throwing error :
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-6-a87dc351f2a6> in <module>()
      2 
      3 criterion = nn.CrossEntropyLoss()
----> 4 optimizer = optim.SGD(net.named_parameters(), lr=0.001, momentum=0.9)

2 frames
/usr/local/lib/python3.7/dist-packages/torch/optim/optimizer.py in add_param_group(self, param_group)
    254             if not isinstance(param, torch.Tensor):
    255                 raise TypeError("optimizer can only optimize Tensors, "
--> 256                                 "but one of the params is " + torch.typename(param))
    257             if not param.is_leaf:
    258                 raise ValueError("can't optimize a non-leaf Tensor")

TypeError: optimizer can only optimize Tensors, but one of the params is tuple

Which is exactly same as my above error!
But as you mentioned earlier that it is present in net.named_parameters() which i personally also found the same output.
dict_keys(['q_params', 'conv1.weight', 'conv1.bias', 'conv2.weight', 'conv2.bias', 'fc1.weight', 'fc1.bias', 'fc2.weight', 'fc2.bias', 'fc3.weight', 'fc3.bias'])

Can you please help @ptrblck