def mixGPAll(snippets, params): logger.mixer("Starting mixGPAll mix method") combined = Snippet("combined") # copy a few things, assume first snippet has the defaults combined.optSteps = snippets[0].optSteps combined.learningRate = snippets[0].learningRate combined.lossTolerance = snippets[0].lossTolerance logger.mixer("Adding training data") # add training data for snippet in snippets: for tdata in snippet.data: combined.addData(tdata) # train the new snippet logger.mixer("Training new snippet") combined.train() # sample the stuff logger.mixer("Sampling new snippet") sampler = Rejection(combined, params["x0"], n=20) sampler.start() # this is threaded so we'll join then pull the results out sampler.join() return sampler.results