for i, s in enumerate(snr): for e in range(n_experiments): g, X, code = _generate_testbed(kernel_init_len, n_nonzero_coefs, n_kernels, n_samples, n_features, n_dims, s) d = MiniBatchMultivariateDictLearning(n_kernels=n_kernels, batch_size=batch_size, n_iter=n_iter, n_nonzero_coefs=n_nonzero_coefs, callback=callback_recovery, n_jobs=n_jobs, learning_rate=learning_rate, kernel_init_len=kernel_init_len, verbose=1, random_state=rng_global) d.generating_dict = list(g) d.wc, d.wfs, d.hc, d.hfs = list(), list(), list(), list() d.wcpa, d.wbc, d.wg, d.wfb = list(), list(), list(), list() d.hcpa, d.hbc, d.hg, d.hfb = list(), list(), list(), list() d.dr99, d.dr97 = list(), list() print ('\nExperiment', e+1, 'on', n_experiments) d = d.fit(X) wc[i, e, :] = array(d.wc); wfs[i, e, :] = array(d.wfs) hc[i, e, :] = array(d.hc); hfs[i, e, :] = array(d.hfs) wcpa[i, e, :] = array(d.wcpa); wbc[i, e, :] = array(d.wbc) wg[i, e, :] = array(d.wg); wfb[i, e, :] = array(d.wfb) hcpa[i, e, :] = array(d.hcpa); hbc[i, e, :] = array(d.hbc) hg[i, e, :] = array(d.hg); hfb[i, e, :] = array(d.hfb) dr99[i, e, :] = array(d.dr99); dr97[i, e, :] = array(d.dr97) with open(backup_fname, "w") as f: o = {'wc':wc, 'wfs':wfs, 'hc':hc, 'hfs':hfs, 'dr99':dr99, 'dr97':dr97, 'wcpa':wcpa, 'wbc':wbc, 'wg':wg, 'wfb':wfb, 'hcpa':hcpa, 'hbc':hbc, 'hg':hg, 'hfb':hfb} pickle.dump(o, f)