这段代码的神经网络输入是什么 # Actor module m_list = mem.decode(nn_input, K, decoder_mode) r_list = [] # 所有候选卸载模式的结果 v_list = [] # 候选卸载模式的目标值 for m in m_list: # Critic module # 为保存在m_list中的所有生成的卸载模式分配资源 r_list.append(Algo1_NUM(m,h,w,Q[i_idx,:],Y[i_idx,:],V)) v_list.append(r_list[-1][0]) # 记录最大奖励指数 k_idx_his.append(np.argmax(v_list)) # Policy update module # 编码最大奖励模式 mem.encode(nn_input, m_list[k_idx_his[-1]]) mode_his.append(m_list[k_idx_his[-1]])#将m_list最后一条历史消息添加到历史消息列表中。
时间: 2024-04-28 14:20:57 浏览: 19
根据代码,神经网络输入是一个包含当前任务和设备的特征向量。具体来说,神经网络输入包括以下信息:
1. 当前任务的计算资源需求
2. 当前任务的带宽需求
3. 所有设备的计算资源容量
4. 所有设备的带宽容量
5. 可用的设备数量
这些信息被编码成一个向量,作为Actor模块的输入,用于生成卸载模式。
相关问题
# Actor module m_list = mem.decode(nn_input, K, decoder_mode) r_list = [] # 所有候选卸载模式的结果 v_list = [] # 候选卸载模式的目标值 for m in m_list: # Critic module # 为保存在m_list中的所有生成的卸载模式分配资源 r_list.append(Algo1_NUM(m,h,w,Q[i_idx,:],Y[i_idx,:],V)) v_list.append(r_list[-1][0]) # 记录最大奖励指数 k_idx_his.append(np.argmax(v_list)) # Policy update module # 编码最大奖励模式 mem.encode(nn_input, m_list[k_idx_his[-1]]) mode_his.append(m_list[k_idx_his[-1]])#将m_list最后一条历史消息添加到历史消息列表中。,这段代码的状态空间是什么
根据代码,状态空间包括以下变量:
1. nn_input:神经网络输入
2. K:可用的卸载模式数量
3. h:当前任务的计算资源需求
4. w:当前任务的带宽需求
5. Q:所有设备的计算资源容量
6. Y:所有设备的带宽容量
7. V:可用的设备数量
8. mode_his:历史卸载模式列表
9. k_idx_his:历史最大奖励指数列表
10. r_list:所有候选卸载模式的结果列表
11. v_list:候选卸载模式的目标值列表
因此,状态空间包括了当前任务、设备和卸载模式的相关信息。
for i in range(n): if i % (n//10) == 0: print("%0.1f"%(i/n))#每当完成总任务的10%输出 if i> 0 and i % Delta == 0: # 索引从零开始计数 if Delta > 1: max_k = max(np.array(k_idx_his[-Delta:-1])%K) +1 else: max_k = k_idx_his[-1] +1 K = min(max_k +1, N)#根据历史记录动态调整K的值,以使其能够适应数据流的变化。如果数据流的变化比较平稳,则K的值不会经常变化,这样可以避免频繁的参数更新。如果数据流的变化比较剧烈,则K的值会相应地进行调整,以更好地适应新的数据分布 i_idx = i # 实时信道生成 h_tmp = racian_mec(h0,0.3)#使用Rician衰落模型后的增益值 # 将h0增长到1,以便更好的训练; 这是深度学习中广泛采用的一种技巧 h = h_tmp*CHFACT channel[i,:] = h #变量h_tmp乘以常数CHFACT,然后将结果存储到变量h中。接着,将h赋值给二维数组channel的第i行,获取信道增益值 # 实时到达生成 dataA[i,:] = np.random.exponential(arrival_lambda) # 4) LyDROO的排队模型 nn_input = h # 缩放Q和Y到接近1;深度学习技巧 nn_input =np.concatenate( (h, Q[i_idx,:]/10000,Y[i_idx,:]/10000)) # Actor module m_list = mem.decode(nn_input, K, decoder_mode) r_list = [] # 所有候选卸载模式的结果 v_list = [] # 候选卸载模式的目标值 for m in m_list: # Critic module # 为保存在m_list中的所有生成的卸载模式分配资源 r_list.append(Algo1_NUM(m,h,w,Q[i_idx,:],Y[i_idx,:],V)) v_list.append(r_list[-1][0]) # 记录最大奖励指数 k_idx_his.append(np.argmax(v_list)) # Policy update module # 编码最大奖励模式 mem.encode(nn_input, m_list[k_idx_his[-1]]) mode_his.append(m_list[k_idx_his[-1]])#将m_list最后一条历史消息添加到历史消息列表中。 # 存储最大结果 Obj[i_idx],rate[i_idx,:],energy[i_idx,:] = r_list[k_idx_his[-1]]#r_list[k_idx_his[-1]] 中的三个值分别赋值给了三个变量 Obj[i_idx]、rate[i_idx, :]、energy[i_idx, :]怎么修改代码使代码不考虑队列积压问题
您将以下代码段注释掉,这样就不会考虑队列积压问题:
```
# 4) LyDROO的排队模型
nn_input = h # 缩放Q和Y到接近1;深度学习技巧
nn_input =np.concatenate( (h, Q[i_idx,:]/10000,Y[i_idx,:]/10000))
# Actor module
m_list = mem.decode(nn_input, K, decoder_mode)
r_list = [] # 所有候选卸载模式的结果
v_list = [] # 候选卸载模式的目标值
for m in m_list:
# Critic module
r_list.append(Algo1_NUM(m,h,w,Q[i_idx,:],Y[i_idx,:],V))
v_list.append(r_list[-1][0])
# 记录最大奖励指数
k_idx_his.append(np.argmax(v_list))
# Policy update module
mem.encode(nn_input, m_list[k_idx_his[-1]])
mode_his.append(m_list[k_idx_his[-1]])
# 存储最大结果
Obj[i_idx],rate[i_idx,:],energy[i_idx,:] = r_list[k_idx_his[-1]]
```
请注意,这将导致代码不再考虑队列延迟问题,因此结果可能会受到排队延迟的影响。
相关推荐
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![mp4](https://img-home.csdnimg.cn/images/20210720083504.png)