当前位置: 首页 > news >正文

《格斗之王AI》使用指南

目录

一、说明

二、步骤

1. 下载

2.配置环境

 3.替换

 4.测试

 5.训练


一、说明

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

林亦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的路径,将右边的全部复制(替换)到左边去。

 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})

 5.训练

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

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

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

 6.曲线

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

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

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

 

http://www.lryc.cn/news/122623.html

相关文章:

  • 创新引领城市进化:人工智能和大数据塑造智慧城市新面貌
  • iOS开发-处理UIControl触摸事件TrackingWithEvent
  • 学无止境·运维高阶⑤(LVS-DR 群集 配置Nginx负载均衡)
  • badger的mainfest文件解读
  • java导出excel浏览器下载,单线程VS多线程
  • 【rust/egui】(二)看看template的main函数:日志输出以及eframe run_native
  • Eigen在QT中的配置
  • 微服务04-elasticsearch
  • uniapp 微信小程序 订阅消息
  • JDK8日期时间工具类
  • 智汇云舟入选IDC《中国智慧城市数字孪生技术评估,2023》报告
  • 《Zookeeper》源码分析(九)之选举通信网络
  • JVM——栈和堆概述,以及有什么区别?
  • 恒盛策略:沪指冲高回落跌0.26%,酿酒、汽车等板块走弱,燃气股拉升
  • Mongodb 常用操作
  • 【python】-【】
  • 基于Elman神经网络的电力负荷预测
  • LeetCode 0088. 合并两个有序数组
  • 定义行业新标准?谷歌:折叠屏手机可承受20万次折叠
  • 在vscode中配置C/C++环境GCC on Linux
  • windows执行完LoadLibrary()后,可以删除源动态库文件,函数不会锁库文件
  • ios 知识
  • 8 | 美国航班数据分析
  • app.use(express.json()) 使用
  • 基于PyTorch的图像识别
  • js合并数组对象(将数组中具有相同属性对象合并到一起,组成一个新的数组)
  • Spring BeanPostProcessor 接口的作用和使用
  • Android 13 Hotseat定制化修改——006 hotseat图标禁止移动到Launcher中
  • RabbitMQ 发布确认机制
  • 微信小程序使用rich-text解析富文本字符串的时候,遇到image标签图片很大超过屏幕