Yes, it works with pymc3.1 when I use the master branches of theano (1.0.1) and Lasagne (0.2.dev1). Now in the past few weeks, the master branch of theano has changed to (1.0.1+unknown), and so not sure of that combination.
What I have running now (on the new machine) after where I left off yesterday, is as below.
$ conda list | grep -i -E "(theano|pymc|lasagne)"
Lasagne 0.2.dev1 <pip>
pymc3 3.2 py27_0 conda-forge
theano 0.9.0 py27_3 conda-forge
The code needed to be changed. And now it runs, after the change, however the performance (the fit/ the sampling) is quite poor:
approx = pm.fit(advi_iters)
trace = approx.sample(draws=500)
I believe I need further edits to make the code read the mini-batches etc.