用强化学习训练AI玩王者荣耀

2022-06-14 11:22:59 浏览数 (3)

本文介绍在GPU服务器GPU计算型GN7实例上训练 王者荣耀AI模型的具体步骤

示例操作环境

  • 硬件平台:GN7
  • GPU 驱动版本:452.77
  • CUDA 版本:11.0.2_451.48

说明事项

1.一定要先安装GRID驱动再安装CUDA与CUDNN

2.一定要安装CUDA与CUDNN 并且两者的版本需要相匹配

3.CUDA版本必须≥11.0 因为Windows环境下的pytorch只支持11.0以上的CUDA

操作步骤

1.安装相关依赖

安装NVIDIA GRID 驱动
  1. 下载 GRID 11 驱动,驱动下载链接
  2. 执行exe文件安装 GRID 11 版本的 GPU 驱动;
  3. 桌面右键 -> NVIDIA 控制面板 -> 许可 -> 管理许可证 -> 填写您的 License 服务器和端口号;

GRID驱动GRID驱动

4. 安装完成后重启您的服务器

安装 CUDA 驱动

参考安装 CUDA 驱动进行 cuda tookit 安装。其中,建议您安装11.0.2_451.48版本的CUDA

2.安装 conda 环境

从Conda官网下载安装包 然后运行

anaconda官网:https://www.anaconda.com

按照界面提示输入提示信息及conda安装目录。建议将Conda安装到根目录

安装完成后在CMD中输入conda出现以下提示则代表安装成功

安装成功页面安装成功页面
3.安装Pycharm

PyCharm 是一款功能强大的 Python 编辑器,具有跨平台性,这里简单说下pycharm的安装步骤

1.从官网下载对应版本的安装包即可,建议个人开发者or没有购买授权的开发者选择Community社区版

pycharm官网 : www.jetbrains.com/pycharm

pycharm下载页面pycharm下载页面

如图所示 全部勾选 然后下一步安装

安装选项安装选项

安装完成后按照提示进行重启系统

4.创建一个Conda虚拟环境

打开CMD,输入以下命令,其中wzry为您的环境名称,您可以更具自己的需求进行更改

代码语言:javascript复制
conda create -n wzry python=3.9

代码语言:javascript复制
Proceed ([y]/n)? #这里输入 ‘Y’ 并按回车确定

创建环境过程创建环境过程

创建完成后输入以下命令来进入这个环境

代码语言:javascript复制
conda activate wzry

打开Git用git clone克隆项目代码

代码语言:javascript复制
git clone https://github.com/FengQuanLi/WZCQ

打开Pycharm ,点击打开,选择项目的目录文件

如果出现以下提示则点击信任项目打开

配置项目配置项目

点击左上角文件-设置-项目:wzry-Python解释器

注意:一般情况下会自动识别出上一步conda创建的环境,如果没有识别出来,则需要点击设置-添加-Conda环境,选择你们的上一步创建的环境名称

安装 Pytorch

执行以下命令,安装pytorch。需要安装 pytorch gpu 版本,推荐使用 torch1.11.0 版本。

代码语言:javascript复制
conda install pytorch torchvision torchaudio cudatoolkit=11.3 -c pytorch

说明:

如因网络超时导致 torch 安装失败,建议下载离线包上传到服务器进行安装。或者创建服务器选择国外的GPU服务器

出现Done则代表安装成功

安装完成安装完成
安装 pywin32

如图所示,进入解释器配置页面,选择左上角的加号,搜索pywin32,点击指定版本,最后点击安装

安装pywin32安装pywin32
安装 pyminitouch, pynput

打开CMD,进入之前创建的conda环境

输入以下命令,安装所需要的模块

代码语言:javascript复制
pip install pyminitouch
pip install pynput

至此,基础环境已经部署完成

检查依赖环境

完成依赖软件配置步骤后,请查看依赖软件及版本是否符合下表:(检查方法:打开CMD 进入您之前创建的环境 输入pip list即可查看)

依赖模块

版本

pywin32

302

pynput

1.7.6

pytorch

1.11.0

pyminitouch

0.3.3

运行 demo 程序

0准备工作

0.1打开启动和结束进程.py 取消第六行的注释,并将127.0.0.1修改为您的虚拟机的IP地址以及ADB远程端口

代码语言:javascript复制
os.system('adb connect 127.0.0.1:7555') #127.0.0.1:7555修改为您远程虚拟机对应的端口 如125.79.21.179:5535

0.2 将训练数据截取_A中第十五行跟第十六行的DEVICES_ID与窗口名称修改成您对应模拟器的值

代码语言:javascript复制
_DEVICE_ID = '125.79.21.179:5535'
窗口名称="MuMu"

0.3下载scrcpy的windows版本。 把所有文件解压到项目根目录即可

0.4 打开CMD 进入项目的根目录下 将您的minitouch文件push到安卓模拟器的/data/local/tmp目录下

代码语言:javascript复制
adb push $minitouch /data/local/tmp   #这里的 $ 请换成您minitouch的所在目录位置

1.运行 “启动和结束进程.py” 启动scrcpy

2.启动王者荣耀进入5v5人机对战 运行 “训练数据截取_A.py” 即可

如果出现键位错乱的情况,请将模拟器的分辨率调整为宽1080高2160

模拟器分辨率模拟器分辨率

如图则表示成功

成功成功

0 人点赞