Karpathy 的代码训练神经网络使用策略梯度来玩 Pong
Karpathy's code training neural net to play Pong using Policy Gradients
我正在看 Andrej Karpathy 的 "Training a Neural Network ATARI Pong agent with Policy Gradients from raw pixels" https://gist.github.com/karpathy/a4166c7fe253700972fcbc77e4ea32c5 。我不是 Python 人,所以我想在 Matlab 中编写这段代码。我有两个问题。
问题 1:我注意到 xs
、hs
、dlogps
和 drs
被初始化为 [],[],[],[]
(第 67 行)并重置为[],[],[],[]
每集之后(第 103 行)。但是 epx
、eph
、epdlogp
和 epr
既没有初始化也没有重置。它们似乎永远在增长(第 99-102 行)。我对么?我不熟悉 np.vstack
.
的细微差别
问题 2:如果我的游戏有向上、向下、向右和向左的玩家移动选项,我需要如何修改此代码才能使其正常工作(除了对输出层中 4 个节点的明显修改之外)?
谢谢。
我认为您在想象 numpy.vstack
与 doesn't have 的细微差别。您链接到的代码的第 99-102 行 将 vstack
函数的结果分配给相关变量。 任何先前的值这些变量将被替换。
epx = np.vstack(xs)
eph = np.vstack(hs)
epdlogp = np.vstack(dlogps)
epr = np.vstack(drs)
对于你问题的第二部分,我认为你需要尝试一些东西,如果它不起作用,请提出一个新问题来说明你已经尝试过的方法。
我正在看 Andrej Karpathy 的 "Training a Neural Network ATARI Pong agent with Policy Gradients from raw pixels" https://gist.github.com/karpathy/a4166c7fe253700972fcbc77e4ea32c5 。我不是 Python 人,所以我想在 Matlab 中编写这段代码。我有两个问题。
问题 1:我注意到 xs
、hs
、dlogps
和 drs
被初始化为 [],[],[],[]
(第 67 行)并重置为[],[],[],[]
每集之后(第 103 行)。但是 epx
、eph
、epdlogp
和 epr
既没有初始化也没有重置。它们似乎永远在增长(第 99-102 行)。我对么?我不熟悉 np.vstack
.
问题 2:如果我的游戏有向上、向下、向右和向左的玩家移动选项,我需要如何修改此代码才能使其正常工作(除了对输出层中 4 个节点的明显修改之外)?
谢谢。
我认为您在想象 numpy.vstack
与 doesn't have 的细微差别。您链接到的代码的第 99-102 行 将 vstack
函数的结果分配给相关变量。 任何先前的值这些变量将被替换。
epx = np.vstack(xs)
eph = np.vstack(hs)
epdlogp = np.vstack(dlogps)
epr = np.vstack(drs)
对于你问题的第二部分,我认为你需要尝试一些东西,如果它不起作用,请提出一个新问题来说明你已经尝试过的方法。