Extracting or visualizing intermediate features

Hi all, I’m very beginner in Pytorch.

I just trained a ConvoNet using skorch NeuralNetRegressor that predicting some properties of crystal graphs/structures.
I defined my model as,
net = NeuralNetRegressor(ConvoNet, modules...)

Then in my forward function in a class,

ConvoNet(nn.Module):
def forward(self, features1, ...):

fea1 = self.embedding(fea1)
for conv_func in self.convs: 
    fea1 = conv_func(fea1, fea2, fea3)
out_fea = self.pooling(fea1, fea4)
out_fea = self.conv_to_fc(self.conv_to_fc_softplus(out_fea))
out_fea = self.conv_to_fc_softplus(out_fea)
out = out = self.fc_out(out_fea)`
return out

Here, I want to extract the value of out_fea and out while or after the training. (and also visualize them). Please help me out. I would very appreciate your help in advance.