示例成品 看全文 ↓

把论文方法转成伪代码

论文里算法写得像密码,每次复现都要花半小时重梳理逻辑和缩进。

免费看示例成品:文字方案报告 ›

有人这样说「这篇NeurIPS的采样算法太绕了,复现得重读三遍才懂循环结构。」

能替你选的都选好了。不想动,直接点下面「交给 AI 办」,点一下就开始做;想改,就点一下要的那个。

已替你选好想改就点一下

更多选项(一般不用动)

只有你知道的不填就先空着,成品里留【待填】

还想怎么改可以不选

开工前请确认

高级选项一般不用动 · 这件事通常 1 分钟左右做好

示例成品全文按上面这组示例选项真跑出来的

按你给的段落补全如下;get_candidate_set 和 update_state 是原文没贴出来的部分,先按常见实现占位,你替换成论文对应公式即可。

===== 输入 =====

state_s 当前状态,作为网络输入

candidate_set_S_t 第 t 轮候选动作集,来自论文 S_t

net_model 策略网络,输出未归一化 logits

max_round_T 最大迭代轮数,论文未给出时按实验设置

===== 输出 =====

action_seq_A 每轮采样到的动作序列

===== 中间量 =====

logits_all 网络对全部动作的原始输出

logits_cand 候选动作对应的 logits

probs_P softmax 后的概率 P(a|s)

local_idx 候选集内的局部采样位置

action_seq_A = [] # 初始化输出动作序列
for t = 1 to max_round_T do # 外层循环:对应“每轮迭代”
candidate_set_S_t = get_candidate_set(state_s, t) # 获取当前轮候选集 S_t
if candidate_set_S_t is empty then # 易错点:空候选集做 softmax 会报错
break # 无候选动作,直接终止循环
else # 候选集非空,进入采样
logits_all = net_model(state_s) # 网络输出所有动作 logits
logits_cand = logits_all[candidate_set_S_t] # 筛出候选动作对应的 logits
logits_cand = logits_cand - max(logits_cand) # 易错点:减去最大值防止 exp 上溢
probs_P = softmax(logits_cand) # 原文:P(a|s) 由 logits 经 softmax 归一化得到
local_idx = categorical_sample(probs_P) # 按概率 P(a|s) 从候选集中采样一个位置
action_a = candidate_set_S_t[local_idx] # 易错点:别返回局部索引,要映射回全局动作 ID
action_seq_A.append(action_a) # 记录本轮采样结果
state_s = update_state(state_s, action_a) # 若论文只采样不更新状态,删除此行
end if
end for
return action_seq_A # 返回每轮采样得到的动作序列

别人还这样问

同类还能办

全部 ›
模型评测·评估免费看示例 ›视频标注怎么做免费看示例 ›拆解评分标准依据免费看示例 ›多模态数据标注怎么做免费看示例 ›语音音频数据标注怎么做免费看示例 ›

同样出方案报告的

首页