【发布时间】:2021-02-19 07:49:51
【问题描述】:
我尝试在 Tensorflow 中使用 tf_agents 进行强化学习环境。 是否可以动态改变观察数组的大小?
例如,我希望代理学习在加权图中找到最小路径,因此每集我都会创建一个随机图。代理在顶点上的每一步,观察数组包含传出边权重。有时有 1 但有时更多,所以大小不是恒定的。 我在环境的 init 函数中定义了这样的观察,其中 n 是从起始顶点开始的传出边数:
self._observation_spec = array_spec.BoundedArraySpec(shape=(1,n), dtype=np.int32, minimum=0, name='observation')
如果稍后我想更改数组的大小,则会引发错误(ValueError given time_spec 与预期不匹配...)。
是否有可能绕过这个错误或者我需要在这个例子中改变环境的结构?
【问题讨论】:
标签: python tensorflow reinforcement-learning agent