使用方向键上下左右可以控制蛇的运动方向,去捕食更多食物,变的更长吧
PPO算法
使用两套神经网络(CNN,全连接)前者作为Actor,后者作为Critic
使用CNN来决策当前状态的动作,使用全连接网络来调整学习任务难度
cuda是Nvidia开发的帮助开发人员更高的利用GPU进行并行计算的框架,对于深度学习至关重要,可以起到加速模型的训练和推理
- 检查本机的显卡驱动是否安装好
nvidia-smi如果显示信息说明已经安装完成- 首先进入Nvidia Cuda官网下载安装包这里推荐下载 cuda的11.8版本,推荐runfile模式安装
1wget https://developer.download.nvidia.com/compute/cuda/11.8.0/local_installers/cuda_11.8.0_520.61.05_linux.run2sudo sh cuda_11.8.0_520.61.05_linux.run- 安装完成后不要关闭终端,按照终端上的提示将库写入环境变量~/.bashrc ?4. 检查是否安装成功
nvcc -V如出现编译器版本号则说明成功
cuDNN是Nvidia开发的模型推理加速的拓展库,对于模型的部署至关重要
- 前往Nvidia cuDNN官网下载最新版本即可
- 注意此时不需要再次安装cuda,因此下面的两条命令不需要执行
Anaconda是一个Python虚拟环境管理器,其中内置了大量Python模块,可以方便的管理模块和虚拟环境
- Anaconda官网下载,注意也要添加到环境变量中
PyTorch是现在流行的神经网络搭建架构,可以帮助开发人员快速实现神经网络的搭建
- 从官网下载库中下载,与cuda版本对应,如果你的cuda版本是11.8,python是3.8,那么应该安装 [torch-2.0.0+cu118-cp38-cp38-linux_x86_64.whl]
- 下载torchvision,同样版本要对应,不再赘述
python train.py
- [--timestep] 收集多少数据之后开始学习(默认 2000)
- [--episodes] 玩多少遍游戏(默认 50000)
- [--lr] 学习率(默认 0.03)
- [--gamma] 折扣因子(默认 0.99)
- [--save-path] 模型保存路径(默认 './Models/AC.pth')
- [--num-game] 游戏线程(默认 1)
- [--epochs] 一次数据训练次数(默认 4)
- [--seed] 随机种子,默认为None(默认 None)
- [--eps] PPO2算法中的界(默认 0.2)
- [--bate1] Adam动量的位置惯性系数1(默认 0.2)
- [--bate2] Adam动量的速度惯性系数2(默认 0.2)
- [--render] 是否要显示过程(默认 False,指定即为true)
python export.py
- [--save-path]模型存储位置(默认 './Models/AC.pth')
- [--seed] 随机种子(默认 None)
- [--render] 是否要显示过程(默认 True,指定即为False)
- 奖励函数调整
- GameAPI.get_reward()函数
通过前后两帧的区别对这一步操作进行打分,最关键的步骤,需要更改