예제 #1
0
#plot.plot_corr(mat[:,:100].T)
#
#m1 = mat[:,300:400]
#m2 = mat[:,200:300]
#plot.plot_scatter(m1.T,m2.T)
#
#cc = sample_x(32)

import qn

mat = qn.load('data/ipf_log_tpm.pkl')
import pandas as pd
x = pd.DataFrame(mat)

feather.write_dataframe(
    x, '/Users/qiaonan/Documents/single-cell-seq/explore/gan/mat_6788.ft')

import feather
import numpy as np
from scipy.spatial.distance import pdist
import torch
from model_extract import DisNet, GenNet
from torch import nn
from torch.autograd import Variable
import qn
import pandas as pd

dis_net = DisNet(6982)
dis_params = torch.load('temp_models/dis_net_cpu_10000.pt')
dis_net.load_state_dict(dis_params)
예제 #2
0
import torch
from torch.autograd import Variable
import torch.nn as nn
import torch.nn.functional as F
import qn

config = qn.load('hyperparams.yml')


class DisNet(nn.Module):
    def __init__(self, dim_in):
        super(DisNet, self).__init__()
        self.dim_in = dim_in

        self.fc1 = nn.Linear(dim_in, 128)
        self.fc2 = nn.Linear(128, 128)
        self.fc3 = nn.Linear(128, 1)

    def forward(self, x):
        x = F.leaky_relu(self.fc1(x))
        x = F.leaky_relu(self.fc2(x))
        x = self.fc3(x)
        return x

    def clip(self):
        clip_val = config['clip']
        for p in self.parameters():
            p.data.clamp_(-clip_val, clip_val)


class GenNet(nn.Module):
예제 #3
0
# -*- coding: utf-8 -*-
import math
import numpy as np
import qn

mat = qn.load('data/pollen.pkl')
max_val = np.max(mat)

def sample_z(batchsize,dim):
	temp_norm = np.random.normal(0.0, max_val/10, size=(batchsize, dim))
	temp_poisson = np.random.poisson(1, size=(batchsize, dim))
	return np.abs(temp_norm + temp_poisson).astype('float32')

def sample_x(batchsize,shuffle=True):
	idx = np.random.randint(mat.shape[1], size=batchsize)
	x = mat[:,idx].T
	if shuffle:
		x_shuffled = []
		for row in x:
			indices = np.where(row<3)[0]
			chosen = np.random.choice(indices,size=10,replace=False)
			chosen_vec = row[chosen]
			np.random.shuffle(chosen_vec)
			row[chosen] = chosen_vec
			x_shuffled.append(row)
	else:
		x_shuffled = x
	return np.array(x_shuffled).astype('float32')