Ejemplo n.º 1
0
def visualize_tsne(args):
    data_dir = os.path.abspath(args['<data>'])

    data = h5.File(data_dir,'r')
    TX = data['test_set/test_set'][:5000]
    TZ = data['test_labels/real_test_labels'][:5000]
    TZ = one_hot(TZ,13)
    n_input = TX.shape[1]
    print 'data loaded.'
    tsne = Tsne(n_input, 2, perplexity=5)
    print 'TSNE initialized.'
    TX_r = tsne.fit_transform(TX)
    print 'data TSNEd.'

    fig = plt.figure(figsize=(16, 16))
    ax = fig.add_subplot(111)
    TZ_am = TZ.argmax(axis=1)
    ax.scatter(TX_r[TZ_am==0, 0], TX_r[TZ_am==0, 1], c='g', lw=0, alpha=1, s=100, marker='o')
    ax.scatter(TX_r[TZ_am==1, 0], TX_r[TZ_am==1, 1], c='b', lw=0, alpha=1, s=100, marker='v')
    ax.scatter(TX_r[TZ_am==2, 0], TX_r[TZ_am==2, 1], c='yellow', lw=0, alpha=1, s=100, marker='^')
    ax.scatter(TX_r[TZ_am==3, 0], TX_r[TZ_am==3, 1], c='r', lw=0, alpha=1, s=100, marker='<')
    ax.scatter(TX_r[TZ_am==4, 0], TX_r[TZ_am==4, 1], c='g', lw=0, alpha=1, s=100, marker='>')
    ax.scatter(TX_r[TZ_am==5, 0], TX_r[TZ_am==5, 1], c='m', lw=0, alpha=1, s=100, marker='8')
    ax.scatter(TX_r[TZ_am==6, 0], TX_r[TZ_am==6, 1], c='crimson', lw=0, alpha=1, s=100, marker='s')
    ax.scatter(TX_r[TZ_am==7, 0], TX_r[TZ_am==7, 1], c='lawngreen', lw=0, alpha=1, s=100, marker='p')
    ax.scatter(TX_r[TZ_am==8, 0], TX_r[TZ_am==8, 1], c='gold', lw=0, alpha=1, s=100, marker='*')
    ax.scatter(TX_r[TZ_am==9, 0], TX_r[TZ_am==9, 1], c='darkorange', lw=0, alpha=1, s=100, marker='h')
    ax.scatter(TX_r[TZ_am==10, 0], TX_r[TZ_am==10, 1], c='k', lw=0, alpha=1, s=100, marker='H')
    ax.scatter(TX_r[TZ_am==11, 0], TX_r[TZ_am==11, 1], c='magenta', lw=0, alpha=1, s=100, marker='d')
    ax.scatter(TX_r[TZ_am==12, 0], TX_r[TZ_am==12, 1], c='turquoise', lw=0, alpha=1, s=100, marker='D')
    plt.legend()
    plt.savefig(os.path.join('/nthome/maugust/thesis',args['<output>']))
Ejemplo n.º 2
0
def test_tsne():
    X = np.random.random((100, 3)).astype(theano.config.floatX)
    X, = theano_floatx(X)

    tsne = Tsne(n_inpt=3, n_lowdim=2, perplexity=40, early_exaggeration=50,
                max_iter=10)
    E = tsne.fit_transform(X)
Ejemplo n.º 3
0
def visualize_tsne(args):
    model_dir = os.path.abspath(args['<model>'])
    data_dir = os.path.abspath(args['<data>'])
    os.chdir(model_dir)
    cps = contrib.find_checkpoints('.')

    if cps:
        with gzip.open(cps[-1], 'rb') as fp:
                trainer = cPickle.load(fp)
                trainer.model.parameters.data[...] = trainer.best_pars
                data = h5.File(data_dir,'r')
                TX = data['test_set/test_set'][:5000]
                TZ = data['test_labels/real_test_labels'][:5000]
                TZ = one_hot(TZ,13)
                print 'data loaded.'

                if args['<mode>'] == 'cnn':
                    f_transformed = trainer.model.function(['inpt'],'mlp-layer-2-inpt')
                    print 'transform-function generated.'
                    data = minibatches(TX, trainer.model.batch_size, 0)
                    trans_TX = np.concatenate([f_transformed(element) for element in data], axis=0)
                else:
                    f_transformed = trainer.model.function(['inpt'],'layer-2-inpt')
                    print 'transform-function generated.'
                    trans_TX = f_transformed(TX)

                trans_TX = np.array(trans_TX, dtype=np.float32)
                print 'data transformed'
                trans_n_input = trans_TX.shape[1]
                trans_tsne = Tsne(trans_n_input, 2, perplexity=5)
                print 'TSNE initialized.'
                trans_TX_r = trans_tsne.fit_transform(trans_TX)
                print 'data TSNEd'

                fig = plt.figure(figsize=(16, 16))
                ax = fig.add_subplot(111)
                TZ_am = TZ.argmax(axis=1)
                ax.scatter(trans_TX_r[TZ_am==0, 0], trans_TX_r[TZ_am==0, 1], c='g', lw=0, alpha=1, s=100, marker='o')
                ax.scatter(trans_TX_r[TZ_am==1, 0], trans_TX_r[TZ_am==1, 1], c='b', lw=0, alpha=1, s=100, marker='v')
                ax.scatter(trans_TX_r[TZ_am==2, 0], trans_TX_r[TZ_am==2, 1], c='yellow', lw=0, alpha=1, s=100, marker='^')
                ax.scatter(trans_TX_r[TZ_am==3, 0], trans_TX_r[TZ_am==3, 1], c='r', lw=0, alpha=1, s=100, marker='<')
                ax.scatter(trans_TX_r[TZ_am==4, 0], trans_TX_r[TZ_am==4, 1], c='g', lw=0, alpha=1, s=100, marker='>')
                ax.scatter(trans_TX_r[TZ_am==5, 0], trans_TX_r[TZ_am==5, 1], c='m', lw=0, alpha=1, s=100, marker='8')
                ax.scatter(trans_TX_r[TZ_am==6, 0], trans_TX_r[TZ_am==6, 1], c='crimson', lw=0, alpha=1, s=100, marker='s')
                ax.scatter(trans_TX_r[TZ_am==7, 0], trans_TX_r[TZ_am==7, 1], c='lawngreen', lw=0, alpha=1, s=100, marker='p')
                ax.scatter(trans_TX_r[TZ_am==8, 0], trans_TX_r[TZ_am==8, 1], c='gold', lw=0, alpha=1, s=100, marker='*')
                ax.scatter(trans_TX_r[TZ_am==9, 0], trans_TX_r[TZ_am==9, 1], c='darkorange', lw=0, alpha=1, s=100, marker='h')
                ax.scatter(trans_TX_r[TZ_am==10, 0], trans_TX_r[TZ_am==10, 1], c='k', lw=0, alpha=1, s=100, marker='H')
                ax.scatter(trans_TX_r[TZ_am==11, 0], trans_TX_r[TZ_am==11, 1], c='magenta', lw=0, alpha=1, s=100, marker='d')
                ax.scatter(trans_TX_r[TZ_am==12, 0], trans_TX_r[TZ_am==12, 1], c='turquoise', lw=0, alpha=1, s=100, marker='D')
                plt.savefig(os.path.join('/nthome/maugust/thesis',args['<output>']))
Ejemplo n.º 4
0
def test_tsne():
    X = np.random.random((100, 3))
    tsne = Tsne(n_inpt=3, n_lowdim=2, perplexity=40, early_exaggeration=50,
                max_iter=10)
    E = tsne.fit_transform(X)