如何获得Theano符号变量的中位数?

时间:2016-12-08 13:04:07

标签: python theano

我可以得到theano变量的平均值,但我不知道如何获得中位数。你能帮我找到中位数吗?我想用中位数而不是平均值来计算我在反向传播中用来更新Autoencoder参数的图像重建成本。

我现在的代码是:

def get_cost_updates(self,input,learning_rate):

    input = utils.get_corrupted_input(input,self.theano_rng,noise_rate)
    hid_layer, recons = self.get_reconstructed_input(input)
    cross_entropy=lambda a,b:-a*T.log(b)-(1-a)*T.log(1-b)
    cost_recons= T.sum((self.x_row.T-recons.T)**2,axis=1)
    mean_activity=T.mean(hid_layer,axis=1)

    cost_sparsity=cross_entropy(self.rho,mean_activity)
    cost=T.mean(cost_recons)+T.mean(cost_sparsity)
    ###
    train_updates=OrderedDict({})
    for p in self.params:
        grad_wrt_param=T.grad(cost,p)
        train_updates[p]=p-learning_rate*grad_wrt_param
    ###
    return (cost.astype(theano.config.floatX),train_updates)

0 个答案:

没有答案