《格斗之王AI》使用指南

news2025/1/23 9:23:19

目录

一、说明

二、步骤

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.coloradmin.cn/o/875186.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

理论分享|拉格朗日对偶及KKT条件推导速学

目录 1 主要内容 2 问题提出 3 对偶推导 4 KKT条件 1 主要内容 在电力系统优化过程中,风光等分布式能源出力和负荷的不确定性(即源荷不确定性)形成了电力系统方向的研究热点,每个研究人员都试图通过自己的方法将研究推进的更深…

Kubernetes 部署DolphinScheduler 创建租户失败

创建租户 报错创建租户失败。后台日志如下 源代码跟踪 org.apache.dolphinscheduler.api.service.impl.TenantServiceImpl / if hdfs startup if (PropertyUtils.getResUploadStartupState()) {createTenantDirIfNotExists(tenantCode); }需要将 resource.storage.type 置为…

【LeetCode: 2811. 判断是否能拆分数组】

🚀 算法题 🚀 🌲 算法刷题专栏 | 面试必备算法 | 面试高频算法 🍀 🌲 越难的东西,越要努力坚持,因为它具有很高的价值,算法就是这样✨ 🌲 作者简介:硕风和炜,…

js加密解决方案1:在AutoJS中实现Promise的必要性、好处与缺点

AutoJS是一款强大的Android自动化工具,可以帮助用户编写脚本来实现手机自动化操作。然而,它的加密代码只支持ES5语法,不支持许多ES6的新特性,如Promise等功能。如果想在ES5语法环境中使用ES6的一些新特性,就需要自己实…

LeetCode--HOT100题(30)

目录 题目描述:24. 两两交换链表中的节点(中等)题目接口解题思路代码 PS: 题目描述:24. 两两交换链表中的节点(中等) 给你一个链表,两两交换其中相邻的节点,并返回交换后链表的头节…

二分查找理论Binary Search代码实现及P1102 A-B 数对

二分查找 在一个1~n的递增序列中,怎么用二分查找数字x的下标? 在一个没用重复元素的递增序列中,用二分查找的方法最多需要查找log(n)次,也就是在一个区间内l~r不断的选取中间下标(mid),直到mi…

maven如何建立JavaWeb项目并连接数据库,验证登录

这里是建立建立web项目:Maven如何创建Java web项目(纯干货版)!!!_明天更新的博客-CSDN博客 我们主要演示如何连接数据库验证登录。 1.在webapp目录下创建我们的登录页面:index.jsp 还需要再…

生信豆芽菜-单基因与免疫浸润的关系

网址:http://www.sxdyc.com/panCancerImmuInfil 该工具主要用于查看单基因在泛癌中与免疫细胞评分的相关性 提交后等待运行成功即可,还可以关注:豆芽数据分析

Modbus工业RFID设备在自动化生产线中的应用

传统半自动化生产线在运作的过程,因为技工的熟练程度,专业素养的不同,在制造过程中过多的人为干预,工厂将很难对每条生产线的产能进行标准化管理和优化。如果半自动化生产线系统是通过前道工序的作业结果和检测结果来决定产品在下…

MySQL事务隔离级别、锁机制、三大范式

目录 一、事务 1.概念 2.事务的特性 3.并发带来的问题 4.事务的隔离级别 二、锁机制 1.什么是锁 2.MySQL锁分类 3.乐观悲观锁 4.共享排它锁 5.意向锁 6.粒度锁 三、三大范式 1.第一范式 2.第二范式 3.第三范式 一、事务 1.概念 事务是逻辑上的一组操作&#xf…

XXL-JOB任务调度平台的安装使用教程(保姆级教程)

首先从GitHub上面将项目clone下来。 GitHub地址:https://gitee.com/xuxueli0323/xxl-job.git 下载好之后,然后通过IDEA打开,将Maven编译好后项目结构如下 在数据库中运行这个SQL文件 ,将基础表创建出来。就可以得到左边图中那些表…

P12-Retentive NetWork-RetNet挑战Transformer

论文地址:https://arxiv.org/abs/2307.08621 目录 Abstract 一.Introduction 二.Retentive Networks 2.1Retention 2.2Gated Multi-Scale Retention 2.3Overall Architecture of Retention Networks 2.4Relation to and Differences from Previous Methods 三.Experime…

并发编程的艺术-“程”:探索进程、线程、协程、纤程与管程

一、并发中的程 在计算机科学领域,处理多任务和并发执行是一项重要的挑战。为了解决这个问题,出现了多种并发模型和概念,包括进程、线程、协程、纤程和管程。本文将深入探讨这些并发概念,帮助读者理解它们的原理、特点和应用场景…

ABeam×Startup丨德硕管理咨询(深圳)创新研究团队前往灵境至维·既明科技进行拜访交流

近日,德硕管理咨询(深圳)(以下简称“ABeam-SZ”)创新研究团队一行前往灵境至维既明科技有限公司(以下简称“灵境至维”)进行拜访交流,探讨线上虚拟空间的商业模式。 现场合影 &…

PMP备考指南来啦!

第一步:通读教材,了解学习内容 在正式开始课程的学习前,可以先快速简单地阅览一遍教材(PMBOK),在较短的时间内知道自己将要学习的是什么内容;同时可以标记出难理解的知识点。这样做有以下两个好…

CHATGPT源码简介与使用指南

CHATGPT源码的基本介绍 CHATGPT源码备受关注,它是一款基于人工智能的聊天机器人,旨在帮助开发者快速搭建自己的聊天机器人,无需编写代码。下面是对CHATGPT搭建源码的详细介绍。 CHATGPT源码的构建和功能 CHATGPT源码是基于Google的自然语言…

【实用干货】3个技巧 - 教你怎么提取公众号封面图!

平时刷公众号的时候遇到自己喜欢的封面,怎么撸过来呢?小埋教大家几个比较实用的方法。 1.135编辑器提取 也是小埋酱经常用的工具,因为平时码字的时候是用的135,所以用起来比较方便,不光光是公众号、视频、音频、视频号…

【腾讯云 TDSQL-C Serverless 产品体验】 使用 Python 向 TDSQL-C 添加读取数据 实现词云图

文章目录 前言学到什么?准备工作申请TDSQL数据库1. 点击登录腾讯云2. 点击立即选购 ,如下图所示3. 选购页面中的数据库配置选项如下4. 基础信息5. 配置完成后点击 右下角的立即购买即可6. 点击立即购买后会有弹窗如下, 再次点击7. 购买完成后 , 会出现弹窗 , 点击前往管理页面…

SD卡相关资料

STM32429I-EVAL1 正点原子 ALIENTEK探索者STM32F4、ALIENTEK战舰STM32F1 V3 野火 野火STM32F103-V2霸道 中科蓝汛 AB5322B QFN32内部软开关蓝牙音箱

ppt怎么转pdf文件?这几种方法搞定

ppt怎么转pdf文件?将ppt转为pdf可以让你更方便地分享你的演示文稿,无论你的观众使用的是什么设备或操作系统,他们都可以轻松地查看你的演示文稿。此外,将ppt转为pdf还可以防止其他人修改你的文稿,保证了你的演示文稿的…