我一直在研究一些 Tensorflow 代理示例,并且想知道是否有人知道如何/在何处将银行/存储添加到环境中的一个很好的示例,以便如果代理用完资金,这一集会提前结束?
似乎将逻辑添加到重置功能将是一个不错的选择,但评论似乎相当坚决不这样做。
# These two functions below should not be overridden by subclasses.
def _reset(self):
"""Returns a time step containing an observation."""
return ts.restart(self._observe(), batch_size=self.batch_size)
def _step(self, action):
"""Returns a time step containing the reward for the action taken."""
reward = self._apply_action(action)
return ts.termination(self._observe(), reward)
我最初的想法是做类似的事情:
def _reset(self):
"""Returns a time step containing an observation."""
self.bank += reward
return ts.restart(self._observe(), batch_size=self.batch_size)
从 _take_action(...) 中其他地方定义的银行减去。这似乎可以运行,但我一直在阅读一些文档,但我不确定它的行为方式是否与我认为的一样。这是将银行添加到 MAB 问题的适当方法吗?