def evaluate(self, *args):
if len(args) == <NUM_LIT:0>:<EOL><INDENT>callBigDlFunc(self.bigdl_type,<EOL>"<STR_LIT>", self.value)<EOL>return self<EOL><DEDENT>elif len(args) == <NUM_LIT:3>:<EOL><INDENT>dataset, batch_size, val_methods = args<EOL>if (isinstance(dataset, ImageFrame)):<EOL><INDENT>return callBigDlFunc(self.bigdl_type,<EOL>"<STR_LIT>",<EOL>self.value,<EOL>dataset, batch_size, val_methods)<EOL><DEDENT>else:<EOL><INDENT>return callBigDlFunc(self.bigdl_type,<EOL>"<STR_LIT>",<EOL>self.value,<EOL>dataset, batch_size, val_methods)<EOL><DEDENT><DEDENT>else:<EOL><INDENT>raise Exception("<STR_LIT>")<EOL><DEDENT>
No argument passed in:
Evaluate the model to set train = false, useful when doing test/forward
:return: layer itself

Three arguments passed in:
A method to benchmark the model quality.

:param dataset: the input data
:param batch_size: batch size
:param val_methods: a list of validation methods. i.e: Top1Accuracy,Top5Accuracy and Loss.
:return: a list of the metrics result