博客 ray.rllib-入门实践-13:自定义多智能体强化学习 中, 没有对预训练的模型加载进行介绍, 这里进行补充。
环境配置:
torch==2.5.1
ray==2.10.0
ray[rllib]==2.10.0
ray[tune]==2.10.0
ray[serve]==2.10.0
numpy==1.23.0
python==3.9.18
方式1:alorithm(config=config).from_checkpoint()
给模型配置好环境和多智能体的配置细节后,加载checkpoint
为了保证单文件的可执行性, 把自定义的多智能体环境 My_Multi_Agent_Env 拷贝了过来。相关checkpoint使用了 ray.rllib-入门实践-12:自定义多智能体强化学习 训练得到的智能体, 读者也可以使用本文代码自己生成 checkpoint.
import ray
from ray import tune
from ray.rllib.algorithms.ppo import PPO, PPOConfig
from ray.tune.registry import register_env
from ray.rllib.env.multi_agent_env import MultiAgentEnv
from gymnasium import spaces
import numpy as np
## 1. 定义多智能体环境
class My_Multi_Agent_Env(MultiAgentEnv):
def __init__(self,env_config):
## 初始化智能体ID列表
self.agents = env_config["agents"]
## 定义每个智能体的动作空间, 这里默认多个智能体的动作空间一样
self.action_space = spaces.Box(low=-1,high=1,shape=(3,))
## 定义每个智能体的观测空间, 这里默认多个智能体的观测空间一样
self.observation_space = spaces.Box(low=-1,high=1,shape=(5,))
self.step_count = 0
def reset(self, *, seed=None, options=None):
self.step_count = 0
obs,info = {}, {}
for agent_name in self.agents:
obs[agent_name] = self.observation_space.sample()
info[agent_name] = {}
return obs,info
def step(self,action):
self.step_count += 1
obs,reward,terminated,tr

最低0.47元/天 解锁文章
1168

被折叠的 条评论
为什么被折叠?



