Thanks for the code snippet.
It still won’t work as described before, since the newly assigned attributes are never used:
model_ft = models.resnet34(pretrained=True)
model_ft.fc_1 = nn.Sequential( nn.Dropout(0.1), nn.Linear(1000, 512))
model_ft.fc_2 = nn.Sequential( nn.Dropout(0.1), nn.Linear(512, 512))
model_ft.fc_3 = nn.Sequential( nn.Dropout(0.1), nn.Linear(512, 256))
model_ft.fc_4 = nn.Sequential( nn.Dropout(0.1), nn.Linear(256, 128))
model_ft.fc_5 = nn.Linear(128, 2)

x = torch.randn(1, 3, 224, 224)
out = model_ft(x)
print(out.shape)
> torch.Size([1, 1000])

You might expect the output tensor to have the shape [batch_size=1, 2], but without overriding the forward method they won’t be used.
Wrapping the model into an nn.Sequential container might also not work directly, since you would lose all functional API calls (from the original forward) and would append the modules based on their initialization order to the nn.Sequential container. I would thus recommend to use nn.Sequential for strictly sequential models and write a custom nn.Module for other use cases.