def meanfield_sgdstep(self, data, minibatchfrac, stepsize, **kwargs): l = Labels(data=np.asarray(data), components=self.components, weights=self.weights, **kwargs) ## local vb l.meanfieldupdate() ## sgd steps on global variables self.weights.meanfield_sgdstep(None, l.r, minibatchfrac, stepsize) for idx, c in enumerate(self.components): c.meanfield_sgdstep(l.data, l.r[:, idx], minibatchfrac, stepsize)