def evaluateClassifier(self, dataset, batch_size):
"""
Evaluate neg log likelihood and accuracy
"""
N = dataset['X'].shape[0]
crossentropy = 0
ncorrect = 0
for bnum, st_idx in enumerate(range(0,N,batch_size)):
end_idx = min(st_idx+batch_size,N)
X = self.sampleDataset(dataset['X'][st_idx:end_idx].astype(config.floatX))
Y = dataset['Y'][st_idx:end_idx].astype('int32')
batch_crossentropy, batch_ncorrect = self.evaluate(X=X,Y=Y)
crossentropy += batch_crossentropy
ncorrect += batch_ncorrect
crossentropy /= float(N)
accuracy = ncorrect/float(N)
return crossentropy, accuracy
评论列表
文章目录