《格斗之王AI》使用指南

目录

一、说明

二、步骤

1. 下载

2.配置环境

 3.替换

 4.测试

 5.训练


一、说明

该项目是 针对B站UP主 林亦LYi 的作品 格斗之王!AI写出来的AI竟然这么强!的使用指南,目的是在帮助更多小白轻松入门,一起感受AI的魅力。

视频教程地址:《格斗之王AI》使用指南_哔哩哔哩_bilibili

林亦LYi项目代码:GitHub - linyiLYi/street-fighter-ai: This is an AI agent for Street Fighter II Champion Edition.

二、步骤

1. 下载

直接下载林亦LYi项目代码,或者从我的备份下载https://github.com/JizhiXiang/video-for-Street-Fighter-Ai,数据量更小更快,或者从我上传的CSDN附件下载。

2.配置环境

# 创建 conda 环境,将其命名为 StreetFighterAI,Python 版本 3.8.10
conda create -n StreetFighterAI python=3.8.10
conda activate StreetFighterAI

# 安装 Python 代码库
cd [项目上级文件夹]/street-fighter-ai/main
pip install -r requirements.txt

# 运行程序脚本定位 gym-retro 游戏文件夹位置
cd ..
python .\utils\print_game_lib_folder.py

注意事项:

pip安装的库最好按照指定的版本,比如

gym==0.21.0
gym-retro==0.8.0
stable-baselines3==1.7.0

否则运行时可能出现各种意想不到的bug。

如果下载速度太慢,可以更改国内镜像,百度搜索关键词“pip 清华源”等。

 3.替换

左边为执行python .\utils\print_game_lib_folder.py后得到的路径,右边为下载代码data的路径,将右边的全部复制(替换)到左边去。

《格斗之王AI》使用指南_第1张图片

 4.测试

cd [项目上级文件夹]/street-fighter-ai/main
python test.py

注意:直接加载原作者的模型是有可能跑不通的,(你自己训练的模型是能跑通的),shape不匹配,要做一下reshape操作,代码如下:

# 参考https://github.com/linyiLYi/street-fighter-ai/issues/16#issuecomment-1515463967
# if not RANDOM_ACTION:
#     # 如果是你自己训练的模型    
#     model = PPO.load(os.path.join(MODEL_DIR, MODEL_NAME), env=env)
if not RANDOM_ACTION:
    # 如果你使用的是linyiLYi提供的模型
    keys = ['high', 'low', 'bounded_above', 'bounded_below']
    setattr(env.observation_space, '_shape', (3,100,128))
    for k in keys:
        new_attr = getattr(env.observation_space, k).reshape(3,100,128)
        setattr(env.observation_space, k, new_attr)
    model = PPO.load(os.path.join(MODEL_DIR, MODEL_NAME), env=env,
                custom_objects = {'observation_space': env.observation_space, 'action_space': env.action_space})

《格斗之王AI》使用指南_第2张图片

 5.训练

cd [项目上级文件夹]/street-fighter-ai/main
python train.py

注意,不会打印输出东西,而是会在./main/logs/中可以查看训练曲线,在./main/trained_models中保存模型和training_log.txt日志文件。

在执行命令过程中,如果想退出,按Ctrl+C键。

《格斗之王AI》使用指南_第3张图片

 6.曲线

cd [项目上级文件夹]/street-fighter-ai/main
tensorboard --logdir=logs/

正常情况应该会出图,如果出现下面情况,查看Log directory是否正确。如果不对,可以将尝试修改默认端口等操作。(有的是将改成绝对路径)

《格斗之王AI》使用指南_第4张图片

如果使用VScode,可以直接Ctrl+Shift+P,输入tensorboard,然后按照提示选择文件夹路径即可启动,如下:

《格斗之王AI》使用指南_第5张图片

你可能感兴趣的:(人工智能)