theano:类中未定义的变量

时间:2016-01-07 10:33:41

标签: python class undefined theano

极简主义代码:

import theano
import theano.tensor as T
import numpy as np
from numpy import dtype

class logistic_regression(object):
# constructor
    def __init__(self,input,n_in,n_out):
    # initialise parameters
       self.W=theano.shared(value=np.zeros((n_in,n_out),dtype=theano.config.floatX),name='W',borrow=True)
    self.b=theano.shared(value=np.zeros((n_out,),dtype=theano.config.floatX),name='b',borrow=True)
    self.p_y_given_x=self.calculate_probability()
    self.neg_log_likelihood=self.calculate_neg_log_likelihood(y)
def calculate_probability(self):
    p_y_given_x=T.nnet.softmax(T.dot(input,self.W)+self.b)
    return p_y_given_x
def calculate_neg_log_likelihood(self,y):
    neg_log_likelihood=T.mean(T.log(self.p_y_given_x)[T.arange(y.shape[0]),y])
    return neg_log_likelihood

在行中:

self.neg_log_likelihood=self.calculate_neg_log_likelihood(y)

我在eclipse中遇到错误:

  

“未定义的变量y”

1 个答案:

答案 0 :(得分:0)

嗯,你传递的变量y,在任何地方都没有定义 Eclipse正在寻找变量y的定义,例如,y=10,在构造函数的范围内,然后在全局范围内。
由于它找不到它,它会警告你。

您是否打算通过p_y_given_x变量?