深度强化学习训练AI玩王者荣耀的环境搭建
源码网址:https://github.com/FengQuanLi/WZCQ
模型网址:
链接:https://pan.baidu.com/s/1ZMCierCZkskEsgjj_wwwyw
提取码:oiar
1.anaconda+pycharm+cuda+pytorch
cuda的版本是10.2的,pytorch的版本是1.9.0的。
参考视频:https://www.bilibili.com/video/BV1h64y1s7Ae?spm_id_from=333.999.0.0
注意,因为时间的变化,安装pytorch的方法也会变,在这个网站上:https://pytorch.org/get-started/previous-versions/可以找到现在如何安装pytorch,在2022年5月9日是用下面的指令:
conda install pytorch==1.9.0 torchvision==0.10.0 torchaudio==0.9.0 cudatoolkit=10.2 -c pytorch
安装过慢的话,可以进行换源操作,如果是windows用户先在anaconda的命令窗口中用下面的命令生成一个文件。
conda config --set show_channel_urls yes
之后在c盘的用户目录下找到.condarc将文件里的内容换成下面的内容:
channels:
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/
ssl_verify: true
在做完上述的步骤后还需要安装几个库分别是:
pip install pywin32==301
pip install pyminitouch====0.3.3
pip install pynput==1.7.3
pip install PyQt5==5.15.4
pip install opencv-python==4.5.2.54
上面的版本号,在项目中的requirements.txt中也能看到,在安装好pywin32后,如果出现找不到模块的错误,在anaconda的命令窗口中进行下面的操作:
python E:\anaconda\envs\wzcq\Scripts\pywin32_postinstall.py -install
注意修改路径,在envs中找到自己的环境然后修改。
2.scrcpy+minitouch
首先需要安卓模拟器或者安卓手机,这里用MuMu模拟器,将模拟器的分辨率改为1080x2160。
在设置中的开发者选项中开启USB调试。
在下面的百度网盘中下载scrcpy和minitouch。
链接:https://pan.baidu.com/s/1H__CmjONDsHR3hCaxXFp7g
提取码:1234
将scrcpy文件中的所有文件直接解压到源代码的根目录下,找到启动和结束进程.py,将代码改成下面的样子(不同模拟器的设备ID可能会有些出入)。
import os
os.system('taskkill /IM scrcpy.exe /F')
os.system('taskkill /IM adb.exe /F')
os.system('adb connect 127.0.0.1:7555')
os.system("scrcpy --max-size 960")
在启动模拟器之后运行这个程序,会出现下面这样的窗口。
注意到窗口的名字是MuMu,找到训练数据截取.py中的_DEVICE_ID和窗口名称改成下图的样子。
使用下面的命令在pycharm的Terminal窗口中执行。
adb shell getprop ro.product.cpu.abi
执行完毕后会出现你设备所支持的ABI。
在minitouch中找到你的ABI对应的目录名称,我的是x86_64。
新建一个py文件,在文件中输入如下代码然后运行,运行一次后就用不上了。
import os
os.system('adb connect 127.0.0.1:7555')
os.system('adb push F:/PycharmWorkplace/stf-binaries-master/node_modules/minitouch-prebuilt/prebuilt/x86_64/bin/minitouch /data/local/tmp/')
os.system('adb shell chmod 777 /data/local/tmp/minitouch')
注意一下文件路径,要改成你的stf-binaries-master所在的路径下,这样就将minitouch给push到设备上了。
之后启动王者荣耀5v5人机对战,然后再启动训练数据截取.py就可以实现AI玩王者荣耀了,以上只是使用训练好的模型玩王者荣耀。
成你的stf-binaries-master所在的路径下,这样就将minitouch给push到设备上了。
之后启动王者荣耀5v5人机对战,然后再启动训练数据截取.py就可以实现AI玩王者荣耀了,以上只是使用训练好的模型玩王者荣耀。