def test_tiwafer():
    num_constraints = 1500
    print "Loading Data...."
    tiwafer_data = load_data_sdml()
    sim_pairs = tiwafer_data.sim_pairs
    diff_pairs = tiwafer_data.diff_pairs
    sorted_ids = tiwafer_data.sortedIds
    ti_data = np.array(tiwafer_data.data)
    labels = np.array(tiwafer_data.target)

    print "Done Loading Data.\nLearning Distance Metric...."

    num_points = len(sorted_ids)
    W = prepare_constraints_old(labels, num_points, num_constraints)

    sdml = SDML()
    # W = prepare_constraints(sorted_ids, sim_pairs, diff_pairs)

    sdml.fit(ti_data, W)
    W_metric = sdml.metric()
    cPickle.dump(W_metric, open('W_metric_sdml.p', 'wb'))
    W_trans = sdml.transformer()
    with open('W_trans_sdml.p', 'wb') as handle:
        cPickle.dump(W_trans, handle)