If I have a class

```
class Operation():
def __init__(self):
self.layer = nn.Linear(16*16,8,bias=True)
def eval(self,input):
return = torch.relu(self.layer(input))
```

How can I create a 2D torch tensor of this type ? For example, the equivalent of the follwing in numpy;

```
matrix = np.empty((x_dim,y_dim),dtype=object)
for x in range(x_dim):
for y in range(y_dim):
matrix[x,y] = Operation()
```

I have tried in pytorch but seems like object is not a valid data type…

If it is really not possible is there another way it can be done ? Using ModuleList or ModuleDict while being able to refer to objects within as coordinates ?