第十六章 模型预测控制 EnsembleModel类:train方法的问题
Opened this issue · 1 comments
Yandong23 commented
在Class EnsembleModel类中 trian()方法里,有如下代码:
def train(self, loss):
self.optimizer.zero_grad()
loss += 0.01 * torch.sum(self._max_logvar) - 0.01 * torch.sum(
self._min_logvar)
loss.backward()
self.optimizer.step()
其中loss的定义看上去是将_max_logvar和_min_logvar进行加权平均。
在之前的代码中只定义了_max_logvar和_min_logvar的初始化。
这是否表明这两个参数仅仅靠加权后的loss进行反向传播,然后用optimizer.step()来进行迭代计算?
这种方法的目标是否为:多次迭代后,_max_logvar和_min_logvar将会逐渐接近真实值?
盼回复,多谢
Yandong23 commented
你好,我的意思是_max_logvar和_min_logvar是常数, 这样的话在loss function中不是对梯度没有影响吗?