当前位置: 首页 > news >正文

源代码网站培训wordpress手机版设置密码

源代码网站培训,wordpress手机版设置密码,做餐厅logo什么网站素材多,主色调为绿色的网站下面是一个使用Python实现基于TD3#xff08;Twin Delayed Deep Deterministic Policy Gradient#xff09;算法来实时更新路径规划算法的三个参数#xff08;sigma0#xff0c;rho0 和 theta#xff09;的示例代码。该算法将依据障碍物环境进行优化。 实现思路 环境定义…下面是一个使用Python实现基于TD3Twin Delayed Deep Deterministic Policy Gradient算法来实时更新路径规划算法的三个参数sigma0rho0 和 theta的示例代码。该算法将依据障碍物环境进行优化。 实现思路 环境定义定义一个包含障碍物的环境用于模拟路径规划问题。TD3算法使用TD3算法来学习如何优化路径规划算法的三个参数。训练过程在环境中进行训练不断更新策略网络和价值网络。 代码示例 import numpy as np import torch import torch.nn as nn import torch.optim as optim import random from collections import deque# 定义TD3网络 class Actor(nn.Module):def __init__(self, state_dim, action_dim, max_action):super(Actor, self).__init__()self.fc1 nn.Linear(state_dim, 400)self.fc2 nn.Linear(400, 300)self.fc3 nn.Linear(300, action_dim)self.max_action max_actiondef forward(self, state):x torch.relu(self.fc1(state))x torch.relu(self.fc2(x))x self.max_action * torch.tanh(self.fc3(x))return xclass Critic(nn.Module):def __init__(self, state_dim, action_dim):super(Critic, self).__init__()# Q1架构self.fc1 nn.Linear(state_dim action_dim, 400)self.fc2 nn.Linear(400, 300)self.fc3 nn.Linear(300, 1)# Q2架构self.fc4 nn.Linear(state_dim action_dim, 400)self.fc5 nn.Linear(400, 300)self.fc6 nn.Linear(300, 1)def forward(self, state, action):sa torch.cat([state, action], 1)# Q1q1 torch.relu(self.fc1(sa))q1 torch.relu(self.fc2(q1))q1 self.fc3(q1)# Q2q2 torch.relu(self.fc4(sa))q2 torch.relu(self.fc5(q2))q2 self.fc6(q2)return q1, q2def Q1(self, state, action):sa torch.cat([state, action], 1)q1 torch.relu(self.fc1(sa))q1 torch.relu(self.fc2(q1))q1 self.fc3(q1)return q1# TD3算法类 class TD3:def __init__(self, state_dim, action_dim, max_action):self.actor Actor(state_dim, action_dim, max_action)self.actor_target Actor(state_dim, action_dim, max_action)self.actor_target.load_state_dict(self.actor.state_dict())self.actor_optimizer optim.Adam(self.actor.parameters(), lr3e-4)self.critic Critic(state_dim, action_dim)self.critic_target Critic(state_dim, action_dim)self.critic_target.load_state_dict(self.critic.state_dict())self.critic_optimizer optim.Adam(self.critic.parameters(), lr3e-4)self.max_action max_actionself.gamma 0.99self.tau 0.005self.policy_noise 0.2self.noise_clip 0.5self.policy_freq 2self.total_it 0def select_action(self, state):state torch.FloatTensor(state.reshape(1, -1))return self.actor(state).cpu().data.numpy().flatten()def train(self, replay_buffer, batch_size100):self.total_it 1# 从回放缓冲区采样state, action, next_state, reward, not_done replay_buffer.sample(batch_size)with torch.no_grad():# 选择动作并添加噪声noise (torch.randn_like(action) * self.policy_noise).clamp(-self.noise_clip, self.noise_clip)next_action (self.actor_target(next_state) noise).clamp(-self.max_action, self.max_action)# 计算目标Q值target_Q1, target_Q2 self.critic_target(next_state, next_action)target_Q torch.min(target_Q1, target_Q2)target_Q reward not_done * self.gamma * target_Q# 获取当前Q估计值current_Q1, current_Q2 self.critic(state, action)# 计算批评损失critic_loss nn.MSELoss()(current_Q1, target_Q) nn.MSELoss()(current_Q2, target_Q)# 优化批评网络self.critic_optimizer.zero_grad()critic_loss.backward()self.critic_optimizer.step()# 延迟策略更新if self.total_it % self.policy_freq 0:# 计算演员损失actor_loss -self.critic.Q1(state, self.actor(state)).mean()# 优化演员网络self.actor_optimizer.zero_grad()actor_loss.backward()self.actor_optimizer.step()# 软更新目标网络for param, target_param in zip(self.critic.parameters(), self.critic_target.parameters()):target_param.data.copy_(self.tau * param.data (1 - self.tau) * target_param.data)for param, target_param in zip(self.actor.parameters(), self.actor_target.parameters()):target_param.data.copy_(self.tau * param.data (1 - self.tau) * target_param.data)# 回放缓冲区类 class ReplayBuffer:def __init__(self, max_size):self.buffer deque(maxlenmax_size)def add(self, state, action, next_state, reward, done):self.buffer.append((state, action, next_state, reward, 1 - done))def sample(self, batch_size):state, action, next_state, reward, not_done zip(*random.sample(self.buffer, batch_size))return torch.FloatTensor(state), torch.FloatTensor(action), torch.FloatTensor(next_state), torch.FloatTensor(reward).unsqueeze(1), torch.FloatTensor(not_done).unsqueeze(1)def __len__(self):return len(self.buffer)# 模拟路径规划环境 class PathPlanningEnv:def __init__(self):# 简单模拟障碍物环境这里用一个二维数组表示self.obstacles np.random.randint(0, 2, (10, 10))self.state_dim 10 * 10 # 环境状态维度self.action_dim 3 # 三个参数 sigma0, rho0, thetaself.max_action 1.0def reset(self):# 重置环境return self.obstacles.flatten()def step(self, action):sigma0, rho0, theta action# 简单模拟奖励计算这里可以根据实际路径规划算法修改reward np.random.randn()done Falsenext_state self.obstacles.flatten()return next_state, reward, done# 主训练循环 def main():env PathPlanningEnv()state_dim env.state_dimaction_dim env.action_dimmax_action env.max_actiontd3 TD3(state_dim, action_dim, max_action)replay_buffer ReplayBuffer(max_size1000000)total_steps 10000episode_steps 0state env.reset()for step in range(total_steps):episode_steps 1# 选择动作action td3.select_action(state)# 执行动作next_state, reward, done env.step(action)# 将经验添加到回放缓冲区replay_buffer.add(state, action, next_state, reward, done)# 训练TD3if len(replay_buffer) 100:td3.train(replay_buffer)state next_stateif done or episode_steps 100:state env.reset()episode_steps 0# 输出最终优化的参数final_state env.reset()final_action td3.select_action(final_state)sigma0, rho0, theta final_actionprint(fOptimized sigma0: {sigma0}, rho0: {rho0}, theta: {theta})if __name__ __main__:main()代码解释 网络定义定义了 Actor 和 Critic 网络分别用于生成动作和评估动作的价值。TD3类实现了TD3算法的核心逻辑包括动作选择、训练和目标网络的软更新。ReplayBuffer类用于存储和采样经验数据。PathPlanningEnv类模拟了一个包含障碍物的路径规划环境提供了重置和执行动作的方法。主训练循环在环境中进行训练不断更新策略网络和价值网络。 注意事项 此示例中的奖励计算是简单模拟的实际应用中需要根据具体的路径规划算法进行修改。障碍物环境的表示可以根据实际需求进行调整。
http://www.hkea.cn/news/14571096/

相关文章:

  • 湖南省建设部网站临桂城乡建设局网站
  • 做网站的是什么工程师苏州高端网站建设开发
  • 网站建设费 科研 类优质的专业网站建设
  • 网站关键字排名怎么做个人小程序开发多少钱
  • 赌求网站开发wordpress vantage premium
  • 玫瑰在线 网站建设内容wordpress数据库显示图片
  • 临夏金属装饰网站建设wordpress 文章列表插件
  • 婚纱网页制作关键词优化公司排名榜
  • 杭州 企业 建网站做下载网站好不好做
  • 自己做网站的劣势时事新闻最新
  • 网站开发网上接单中国建设工程招投标网站
  • 有关网站开发的文献综述html5标签属性大全
  • wordpress搬家后台还是老网站wordpress语言切换器
  • 东莞 网站建设收费文化建设的意义
  • 学网站开发有前途吗德州企业认证网站建设
  • 电子商务网站建设实训展示中山百度网站建设
  • 网站建设企业名录科技公司网站建设方案书模板
  • 网站如何做微信支付宝支付宝支付接口视频网站用什么做
  • 如何上传织梦做的网站网站建设公司推荐 知乎
  • 当涂县微网站开发wordpress聚合文章
  • 山东站群网站建设做视频导航网站有哪些
  • 个人网站备案网址导航百度上搜不到网站
  • 网站项目需求说明书广东品牌网站设计专家
  • 免费人物素材网站如何自己做小程序免费
  • 表情包在线制作网站洛阳php网站开发
  • 简述网站推广的基本方法免费校园网站建设
  • 网站建设公司外包深圳app网站建设
  • 做环氧地坪工程网站廊坊专业做网站
  • 下列不能反应企业网站建立网络建设银行河北分行网站
  • 网站建设架构优秀案例外包做网站一般多少钱