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

查建筑公司资质的网站免费b2b

查建筑公司资质的网站,免费b2b,专业做网站的公司有,那些网站可以做问答项目场景: 基于强化学习解决组合优化问题 问题描述 # POMO Rolloutstate, reward, done self.env.pre_step()# next_state statewith autocast():while not done:# 执行动作并获取新状态和奖励selected, prob self.model(state)# 更新状态:因为self.env.step(s…

项目场景:

基于强化学习解决组合优化问题
在这里插入图片描述


问题描述

        # POMO Rolloutstate, reward, done = self.env.pre_step()# next_state = statewith autocast():while not done:# 执行动作并获取新状态和奖励selected, prob = self.model(state)# 更新状态:因为·self.env.step(selected)之后会自动更新state# 为了解决克隆state问题构建一个新的函数方法(.clone())专门克隆state所有向量pre_state = statestate, reward, done = self.env.step(selected)# 存储当前的动作概率(用于后续计算比率)prob_list = torch.cat((prob_list, prob[:, :, None]), dim=2)old_prob_list = torch.cat((old_prob_list, prob[:, :, None]), dim=2)print(f"Encoded nodes in forward: {reward.shape}")# 计算当前状态的值函数 V(s)value = self.model_critic(pre_state)# 计算下一个状态的值函数 V(s')next_value = self.model_critic(state)# 计算优势函数advantage = reward + (1 - done.to(torch.int)) * next_value - value             
pre_state = state

出现与目标相反的现象:pre_state = state目的是保存state的前一步数据,因为state, reward, done = self.env.step(selected)会更新state的值。但随着state的更新pre_state也会更新。


原因分析:

state是类似全局变量的参数,可能pre_statestate指着同一个地址,这导致state更新pre_state也更新。


解决方案:

使用.clone()操作将他们分开到两个地址中。
但要注意的是state = Step_State()。其中 Step_State()为多向量数据。

@dataclass
class Step_State:BATCH_IDX: torch.Tensor = None      #表示批次的索引 # shape: (batch, pomo)POMO_IDX: torch.Tensor = None       #表示 POMO 算法中的多智能体索引 # shape: (batch, pomo)selected_count: int = None          #表示当前已经选中的节点数量 # shape: (batch, pomo)load: torch.Tensor = None           #表示当前负载状态 # shape: (batch, pomo)current_node: torch.Tensor = None   #表示当前正在访问的节点编号 # shape: (batch, pomo)ninf_mask: torch.Tensor = None      #表示负无穷掩码    # shape: (batch, pomo, problem+1)

这里构建一个函数cloneStep_State()所有向量。

@dataclass
class Step_State:BATCH_IDX: torch.Tensor = None      #表示批次的索引 # shape: (batch, pomo)POMO_IDX: torch.Tensor = None       #表示 POMO 算法中的多智能体索引 # shape: (batch, pomo)selected_count: int = None          #表示当前已经选中的节点数量 # shape: (batch, pomo)load: torch.Tensor = None           #表示当前负载状态 # shape: (batch, pomo)current_node: torch.Tensor = None   #表示当前正在访问的节点编号 # shape: (batch, pomo)ninf_mask: torch.Tensor = None      #表示负无穷掩码    # shape: (batch, pomo, problem+1)def clone(self):# 克隆每个张量属性return Step_State(BATCH_IDX=self.BATCH_IDX.clone() if self.BATCH_IDX is not None else None,POMO_IDX=self.POMO_IDX.clone() if self.POMO_IDX is not None else None,selected_count=self.selected_count,  # 如果是整数,直接赋值即可load=self.load.clone() if self.load is not None else None,current_node=self.current_node.clone() if self.current_node is not None else None,ninf_mask=self.ninf_mask.clone() if self.ninf_mask is not None else None)
http://www.dtcms.com/wzjs/247025.html

相关文章:

  • 短链接生成站长工具百度上海总部
  • 手工业网站怎么做百度推广多少钱一个月
  • 做网站要具备些什么条件南京网络推广公司排名
  • 做网站创业流程图网络推广员招聘
  • 网站风格复制域名查询网站信息
  • qq官网登录入口电脑版搜狗seo怎么做
  • 彩票系统开发搭建彩票网站服务器安全怎么做苏州网站seo服务
  • 建设网站图片素材人工智能培训一般多少钱
  • 做医美设计的网站运营培训班有用吗
  • 用织梦做房产网站店铺推广怎么做
  • 昆明做网站首选互维厦门百度开户
  • 一个专门做字画的网站九幺seo优化神器
  • 网站建设模板型和定制型免费软文推广平台
  • 做网站需要多少屏搜索引擎排名2022
  • 成都大型网站建设全球搜索网站排名
  • 莱州 网站制作网络营销推广方案ppt
  • 自己如何建设企业网站广告网站大全
  • wordpress 搞笑网站百度店铺免费入驻
  • wordpress如何评论功能太原seo外包公司
  • 群晖ds1817做网站网络营销广告策划
  • 68设计网站2345手机浏览器
  • 做网站前端多少钱360营销平台
  • 深圳建设网站公司线上广告推广平台
  • 百度快照提交西安seo排名优化推广价格
  • 网站建设分工网店运营推广实训
  • 网站制作公司 恶意网站竞价推广怎么做
  • 美发企业网站模板免费seo网站诊断
  • 谷歌网站关键词优化网络推广都需要做什么
  • 怎样才能制作网站新品上市怎么做宣传推广
  • php旅游网站开发的功能微信小程序开发费用