问题 1:您可以对每个 minibatch 进行前向和后向操作,但不能调用 optimizer.update(),在对必要的 minibatch 重复前向和后向操作后,您可以调用optimizer.update()根据累积梯度进行更新。
如果你想用trainer
模块来实现它,我认为你需要重写StandardUpdater
来定义你自己的Updater
类来做上面的事情。
问题2:您使用的是trainer
模块吗?如果是这样,您可以定义自己的迭代器来实现这一点。有关如何定义迭代器类的参考,另请参见下文。