inference meets optimization

differentiable optimization layers for structured learning