Example #1
0
    dlog.set_handler(['pi'], YTPlotter)
    dlog.set_handler(['sigma'], YTPlotter)
    dlog.set_handler('y', RFViewer, rf_shape=(D2, D2))

    # Prepare ground-truth GFs (bars)
    W_gt = np.zeros((H, D2, D2))
    for i in xrange(D2):
        W_gt[i, i, :] = bar_value
        W_gt[D2 + i, :, i] = bar_value
    if neg_bars > 0.0:
        W_gt[sample(range(H), np.int(H * neg_bars))] *= -1
    W_gt = W_gt.reshape((H, D))
    W_gt += np.random.normal(size=(H, D), scale=0.5)

    # Prepare model...
    model = BSC_ET(D, H, Hprime, gamma, to_learn)
    mparams = {'W': W_gt, 'pi': pi_gt, 'sigma': sigma_gt, 'mu': mu_gt}
    mparams = comm.bcast(mparams)

    pprint("Generating Model Parameters:")
    pprint("pi = " + np.str(mparams['pi']) + "; sigma = " +
           np.str(mparams['sigma']))

    # Generate trainig data
    my_N = N // comm.size
    my_data = model.generate_data(mparams, my_N)
    dlog.append('y', my_data['y'][0:20])

    # Choose annealing schedule
    anneal = LinearAnnealing(anneal_steps)
    anneal['T'] = [(15, start_temp), (-10, end_temp)]