使用DQN玩Flappy Bird游戏
1. 构建深度Q网络(DQN)模型
当Flappy Bird环境准备好后,我们可以通过构建DQN模型来解决这个问题。由于每一步都会返回屏幕图像,而卷积神经网络(CNN)是处理图像输入的最佳神经网络架构之一,因此我们将使用一个具有三个卷积层和一个全连接隐藏层的CNN。
1.1 导入必要的模块
import torch
import torch.nn as nn
import torch.nn.functional as F
import numpy as np
import random
1.2 定义CNN模型
class DQNModel(nn.Module):
def __init__(self, n_action=2):
super(DQNModel, self).__init__()
self.conv1 = nn.Conv2d(4, 32, kernel_size=8, stride=4)
self.conv2 = nn.Conv2d(32, 64, 4, stride=2)
self.conv3 = nn.Conv2d(64, 64, 3, stride=1)
self.fc = nn.Linear(7 * 7 * 64, 512)
self.out = nn.Linear(512, n_action)
self._creat
超级会员免费看
订阅专栏 解锁全文
5527

被折叠的 条评论
为什么被折叠?



