Amortized Inference And Model Learning For Probabilistic Programming