I am a beginner to Pytorch and I have trained a custom built model. It looks like this:
stackedIndRNN_encoder(
  (DIs): ModuleList(
    (0): Linear(in_features=150, out_features=512, bias=True)
    (1): Linear(in_features=512, out_features=512, bias=True)
    (2): Linear(in_features=512, out_features=512, bias=True)
    (3): Linear(in_features=512, out_features=512, bias=True)
    (4): Linear(in_features=512, out_features=512, bias=True)
    (5): Linear(in_features=512, out_features=512, bias=True)
  )
  (BNs): ModuleList(
    (0): Batch_norm_step(
      (bn): BatchNorm1d(512, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
    )
    (1): Batch_norm_step(
      (bn): BatchNorm1d(512, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
    )
    (2): Batch_norm_step(
      (bn): BatchNorm1d(512, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
    )
    (3): Batch_norm_step(
      (bn): BatchNorm1d(512, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
    )
    (4): Batch_norm_step(
      (bn): BatchNorm1d(512, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
    )
    (5): Batch_norm_step(
      (bn): BatchNorm1d(512, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
    )
  )
  (RNNs): ModuleList(
    (0): IndRNN_onlyrecurrent()
    (1): IndRNN_onlyrecurrent()
    (2): IndRNN_onlyrecurrent()
    (3): IndRNN_onlyrecurrent()
    (4): IndRNN_onlyrecurrent()
    (5): IndRNN_onlyrecurrent()
  )
  (lastfc): Linear(in_features=512, out_features=60, bias=True)
)
I want to access the output from the last layer, RNNs that is a ** 512-dimensional vector** that is inputted into the final fully connected layer, lastfc. I have tried forward hook in the following way:
RNNs_output = None
def RNN_hook(module, input_, output):
	global RNNs_output
	RNNs_output = output
model.lastfc.register_forward_hook(RNN_hook)	
model(skeletons)
print(RNNs_output)
but I get None in RNNS_output. What am I doing wrong?