How to crop a pretrained model with c++ API

I am trying to implement artistic style transfer with a VGG16 network following the paper " A Neural Algorithm of Artistic Style". The only way I have found so far for getting an output from a middle layer in the network is, using the MXPredCreatePartialOut(…) function. The only problem using this approach (header: “mxnet/c_predict_api.h”) is, there is no way to do backpropagation(unless I’m missing something).

All functionality I need for my project:

Crop network or get output from inner layers
Feed forward and Backpropagation

Any help or links would be greatly appreciated.