-
-
Notifications
You must be signed in to change notification settings - Fork 655
Closed
Labels
Description
If I have a training step that takes a different form from the inferencing step, and I have defined these functions separately,
def train_step(e, b):
...
...
return batch_loss
trainer = Engine(train_step)
and
def infer_step(e, b):
...
return batch_loss
evaluator = Engine(infer_step)
do I still need to define create_supervised_trainer
and create_supervised_evaluator
?
If yes, do I need to define
def run_traiin(engine):
train_evaluator.run(train_loader)
def run_validation(engine):
infer_evaluator.run(valid_loader)
Do I need to do
trainer.add_event_handler(Events.EPOCH_STARTED(every=1), run_train)
evaluator.add_event_handler(Events.EPOCH_STARTED(every=1), run_validation)
I am a bit confused here.
Or I can do
@trainer.on(Events...)
add the evaluation execution here