mirror of
https://github.com/apachecn/ailearning.git
synced 2026-04-24 18:42:25 +08:00
2020-10-19 21:48:57
This commit is contained in:
@@ -8,7 +8,7 @@ Torch 是神经网络库, 那么也可以拿来做强化学习, 之前我用另
|
||||
|
||||
这次除了 Torch 自家模块, 我们还要导入 Gym 环境库模块.
|
||||
|
||||
```
|
||||
```py
|
||||
import torch
|
||||
import torch.nn as nn
|
||||
from torch.autograd import Variable
|
||||
@@ -33,7 +33,7 @@ N_STATES = env.observation_space.shape[0] # 杆子能获取的环境信息数
|
||||
|
||||
DQN 当中的神经网络模式, 我们将依据这个模式建立两个神经网络, 一个是现实网络 (Target Net), 一个是估计网络 (Eval Net).
|
||||
|
||||
```
|
||||
```py
|
||||
class Net(nn.Module):
|
||||
def __init__(self, ):
|
||||
super(Net, self).__init__()
|
||||
@@ -53,7 +53,7 @@ class Net(nn.Module):
|
||||
|
||||
简化的 DQN 体系是这样, 我们有两个 net, 有选动作机制, 有存经历机制, 有学习机制.
|
||||
|
||||
```
|
||||
```py
|
||||
class DQN(object):
|
||||
def __init__(self):
|
||||
# 建立 target net 和 eval net 还有 memory
|
||||
@@ -72,7 +72,7 @@ class DQN(object):
|
||||
|
||||
接下来就是具体的啦, 在 DQN 中每个功能都是怎么做的.
|
||||
|
||||
```
|
||||
```py
|
||||
class DQN(object):
|
||||
def __init__(self):
|
||||
self.eval_net, self.target_net = Net(), Net()
|
||||
@@ -130,7 +130,7 @@ class DQN(object):
|
||||
|
||||
按照 Qlearning 的形式进行 off-policy 的更新. 我们进行回合制更行, 一个回合完了, 进入下一回合. 一直到他们将杆子立起来很久.
|
||||
|
||||
```
|
||||
```py
|
||||
dqn = DQN() # 定义 DQN 系统
|
||||
|
||||
for i_episode in range(400):
|
||||
|
||||
Reference in New Issue
Block a user