If your use case dictates changing the filters frequently (e.g. by adding more filters or removing some), I would use the functional API via F.conv2d and define the weight and bias tensors manually.
This would give you more flexibility than trying to manipulate the parameters inside the nn.Conv2d module.