I dont think there exists a reliable all-in-one solution. For me I found visdom to be a good building block for visualization.
You can access model weights via:
for m in model.modules():
if isinstance(m, nn.Conv2d):
print(m.weights.data)
However you still need to convert m.weights.data to numpy and maybe even do some type casting so that you can pass it to vis.image.