Deep End-to-end Causal Inference