这个没有基础没法看的,建议没有基础的先看看我的另一篇博客,会介绍强化学习以及Q-learng算法流程:
https://blog.csdn.net/qq_36499794/article/details/103162841
一. 代码
import torch
import torch.nn as nn
import torch.nn.functional as F
import numpy as np
import gym
# 定义参数
BATCH_SIZE = 32 # 每一批的训练量
LR = 0.01 # 学习率
EPSILON = 0.9 # 贪婪策略指数,Q-learning的一个指数,用于指示是探索还是利用。
GAMMA = 0.9 # reward discount
TARGET_REPLACE_ITER = 100 # target的更新频率
MEMORY_CAPACITY = 2000
env = gym.make('CartPole-v0')
env = env.unwrapped
N_ACTIONS = env.action_space.n
N_STATES = env.observation_space.shape[0]
ENV_A_SHAPE = 0 if isinstance(env.action_space.sample(), int) else env.action_space.sample().shape # to confirm the shape
# 创建神经网络模型,输出的是可能的动