def compile_val(self):
if self.verbose: print('compiling validation function...')
import theano
from lasagne.layers import get_output
output_val = lasagne.layers.get_output(self.output_layer, self.x, deterministic=True)
from lasagne.objectives import categorical_accuracy, categorical_crossentropy
cost = categorical_crossentropy(output_val, self.y).mean()
error = 1-categorical_accuracy(output_val, self.y, top_k=1).mean()
error_top_5 = 1-categorical_accuracy(output_val, self.y, top_k=5).mean()
self.val_fn= theano.function([self.subb_ind], [cost,error,error_top_5], updates=[],
givens=[(self.x, self.shared_x_slice),
(self.y, self.shared_y_slice)]
)
评论列表
文章目录