在143-152行:https://github.com/richardrl/improved-chainsaw/blob/master/gym_soccer/dqn.py
我注意到,如果我宣布:
global q_values
在elif parameter_sharing and agent_id==0:
块中,下一次调用q_values = q_func...
的q_values变量的作用域为LOCALLY(q_values在locals()中找不到而不是globals())尽管有"全局q_values&# 34;在elif区的线。但是如果我在elif块之外声明全局q_values,则变量q_values适当地限定为全局变量空间。
为什么会发生这种情况?如何有条件地正确设置全球性?