Thanks for the update!
I don’t know how your models are defined and if you are missing functional API calls or if there is any other issue, but I cannot reproduce the issue using the torchvision ResNet152 by comparing the entire model execution with a per-layer one:
model = models.resnet152()
model.eval()

x = torch.randn(1, 3, 224, 224)

# entire model execution
out1 = model(x)

# per-layer execution
x = model.conv1(x)
x = model.bn1(x)
x = model.relu(x)
x = model.maxpool(x)
x = model.layer1(x)
x = model.layer2(x)
x = model.layer3(x)
x = model.layer4(x)
x = model.avgpool(x)
x = torch.flatten(x, 1)
out2 = model.fc(x)

# compare
print((out1 - out2).abs().max())
> tensor(0., grad_fn=<MaxBackward1>)