Пример #1
0
def compute_reconstructions(rbm, v_data, fit, n_recon=10, vertical=False):
    sampler = fit.DrivenSequentialMC(rbm)
    data_state = State.from_visible(v_data, rbm)
    sampler.set_positive_state(data_state)
    sampler.update_positive_state(1)
    v_model = rbm.deterministic_iteration(1, sampler.pos_state).units[0]

    idx = numpy.random.choice(range(len(v_model)), n_recon, replace=False)
    grid = numpy.array(
        [[be.to_numpy_array(v_data[i]),
          be.to_numpy_array(v_model[i])] for i in idx])
    if vertical:
        return grid
    else:
        return grid.swapaxes(0, 1)