python - RLlib 改变观察的形状,将 [None] 添加到形状元组
问题描述
RLlib(0.7.3 版)提供了 Box(10, 3) 的观察形状,我想将其与 FCN 代理一起使用。但图书馆似乎为它增加了另一个维度。由于这个添加,RLlib 尝试为代理使用视觉网络。
我如何将它与 FCN 代理一起使用。
在文件 ray/rllib/policy/dynamic_tf_policy.py 的第 108 行。
if existing_inputs is not None:
obs = existing_inputs[SampleBatch.CUR_OBS]
if self._obs_include_prev_action_reward:
prev_actions = existing_inputs[SampleBatch.PREV_ACTIONS]
prev_rewards = existing_inputs[SampleBatch.PREV_REWARDS]
else:
obs = tf.placeholder(
tf.float32,
shape=[None] + list(obs_space.shape), # <----------------
name="observation")
if self._obs_include_prev_action_reward:
prev_actions = ModelCatalog.get_action_placeholder(
action_space)
prev_rewards = tf.placeholder(
tf.float32, [None], name="prev_reward")
self.input_dict = {
SampleBatch.CUR_OBS: obs,
SampleBatch.PREV_ACTIONS: prev_actions,
SampleBatch.PREV_REWARDS: prev_rewards,
"is_training": self._get_is_training_placeholder(),
}
解决方案
推荐阅读
- excel - 格式化输出以使变量变为粗体
- amazon-web-services - AWS ECS Fargate 任务并行化与 SQS
- google-cloud-platform - 为什么 GCP 服务帐号不能模拟自己?
- python - 如何在 C# 中从 Python 加载 Keras 训练的模型?
- report - 有没有办法将时间序列数据与预定的电子邮件一起发送?
- java - 使用 NamedNativeQuery 获取 UUID:[B 无法转换为 java.util.UUID
- python - 通过类将本地变量传递给函数
- android - 如何解决在 android studio 的 Retrofit 标头中添加变量
- rust - 在尝试创建 BufWriter 时“创建一个仍在使用时释放的临时对象”
- android - 如何限制对应用商店的访问