Posterior sample from an approximation with Minibatches?

After trainning, you can set the value using .set_value:

In [3]: x = pm.Minibatch(np.random.randn(100,1000))

In [4]: x.eval()
Out[4]: 
array([[-0.34829082,  0.45134496, -1.03519675, ..., -1.80109584,
         0.57008269, -0.67598918],
       [ 0.21424994,  1.34934134, -1.06525594, ..., -0.22126869,
        -0.41794257,  1.98838051],
       [ 3.36126028, -0.31755657, -0.82344513, ..., -0.96290175,
         0.27808139, -0.8185643 ],
       ...,
       [-0.02245564, -0.278961  , -0.73791364, ..., -0.45770139,
         0.53545464,  1.73343965],
       [-2.04156804, -0.72927505,  0.4760791 , ...,  0.99587714,
         1.86240101,  0.92661746],
       [ 1.9240239 , -0.75818123, -0.22159818, ..., -0.05474053,
         0.40436321, -0.68701168]])

In [5]: x.eval()
Out[5]: 
array([[-0.30117326,  0.34028205,  0.91282827, ...,  0.35780587,
        -1.12898777, -0.82772432],
       [-1.04008581, -2.16347976, -1.49979547, ..., -0.96488536,
        -0.74512995,  1.99544914],
       [-1.38044767,  0.70221734,  0.30531702, ...,  0.13047399,
        -2.17276674,  1.09855923],
       ...,
       [-0.59638083, -0.43653478,  0.93582342, ..., -0.69513752,
        -1.87323037, -0.53201399],
       [-0.95627072,  2.23213058, -0.67099718, ...,  1.0537604 ,
        -0.97095504, -0.40000886],
       [ 1.0656682 , -1.14207618, -1.41437202, ..., -0.45646884,
         0.64780939,  0.0238533 ]])

where each evaluation is different. After seting the value, now each evaluation returns the same:

In [11]: x.set_value(np.zeros((100, 128)))

In [12]: x.eval()
Out[12]: 
array([[0., 0., 0., ..., 0., 0., 0.],
       [0., 0., 0., ..., 0., 0., 0.],
       [0., 0., 0., ..., 0., 0., 0.],
       ...,
       [0., 0., 0., ..., 0., 0., 0.],
       [0., 0., 0., ..., 0., 0., 0.],
       [0., 0., 0., ..., 0., 0., 0.]])