def predict(self, **kwargs):
        """
        Do the workflow prediction (done after training, with new data)
        """
        reformatted_predict = self.reformat_predict_data()
        results = {}
        for task_inst in self.trained_tasks:
            predict = reformatted_predict[task_inst.data_format]['predict']
            kwargs['predict']=predict
            results.update({get_task_name(task_inst) : self.execute_predict_task(task_inst, predict, **kwargs)})
        return results
Do the workflow prediction (done after training, with new data)