def init(): U = np.stack([emb[cond==i,:].mean(0) for i in np.unique(cond)]) qq = len(np.unique(cond)) for ix in combinations(range(qq),2): ax.plot(U[ix,0],U[ix,1],U[ix,2],color=(0.5,0.5,0.5)) # ax.plot(U[[1,3],0],U[[1,3],1],U[[1,3],2],color=(0.5,0.5,0.5)) # ax.plot(U[[3,2],0],U[[3,2],1],U[[3,2],2],color=(0.5,0.5,0.5)) # ax.plot(U[[2,0],0],U[[2,0],1],U[[2,0],2],color=(0.5,0.5,0.5)) # ax.plot(U[[0,3],0],U[[0,3],1],U[[0,3],2],color=(0.5,0.5,0.5)) # ax.plot(U[[1,2],0],U[[1,2],1],U[[1,2],2],color=(0.5,0.5,0.5)) ax.scatter(U[:,0],U[:,1],U[:,2],s=50, marker='s',c=np.unique(cond)) scat = ax.scatter(emb[:,0],emb[:,1], emb[:,2], c=colorby) util.set_axes_equal(ax) ax.set_xticklabels([]) ax.set_yticklabels([]) ax.set_zticklabels([]) # plt.xticks([]) # plt.yticks([]) # plt.zticks([]) # plt.legend(np.unique(cond), np.unique(cond)) cb = plt.colorbar(scat, ticks=np.unique(colorby), drawedges=True, values=np.unique(colorby)) cb.set_ticklabels(np.unique(colorby)+1) cb.set_alpha(1) cb.draw_all() return fig,
# # z[pos,:] = fake_labels[pos,:]@basis.T z = emb(torch.tensor(fake_labels).float()).numpy() + np.random.randn( ndat, dim) * noise #%% Visualize x0 = -1 # training context fig = plt.figure() ax = fig.add_subplot(111, projection='3d') w = weight_func(fake_labels[:, 1], x0, sigma=0.5) # w = w_tot ax.scatter(z[:, 0], z[:, 1], z[:, 2], c=w, s=1) util.set_axes_equal(ax) #%% Compute # x0 = -1 # training context # x_tst = np.linspace(-0.9,0.9,25) bw = 0.05 n_ps = 300 # subsample size for parallelism b_ps = 1 # number of 'batches' for parallelism eps_ps = 0.5 # epsilon for parallelism n_neigh = 10 dist_weight = 0.0 x = fake_labels[:, 1] y = fake_labels[:, 0]