If the values of train_len and elva_len inside Trainer.run() and Evaluator.run() could not be determined, they should be changed to be 1 and epoch == iteration.
If the length of iterable passed to run() does not exist, an error occurs when train_len==None, but it should be changed so that it can be executed as train_len=1.