Alex-Beng / Yaa

基于学习的原神AI | Yet Another AI for GI.
3 stars 0 forks source link
genshin-impact imitation-learning
# Yaa Yet Another Artificial GI-player 又一个原神AI

介绍

基于强化学习/模仿学习算法,实现原神的基于动作生成的AI。

目前处于开发阶段,开发计划见issue。 大致计划是先模仿学习,然后通过强化学习进行微调。

仓库组成

BC使用

分为录制示教、训练和推理三个阶段。 目前推理还在使用pytorch,没有做任何部署和量化。

可使用notebook + colab的方式进行训练和推理: 名椎滩好感原始录制数据和使用colab进行训练notebook见这里

工作流为:录制 -> 重采样到20Hz -> 训练 -> 推理

录制示教

基于CPP。

CPP的依赖库通过CMake下载,所以不需要额外的依赖。

运行时需要手动下载opencv编码视频依赖的dll,见运行时opencv的提示,有网页链接。

编译:

mkdir build
cd build
cmake ..
MSBuild.exe ALL_BUILD.vcxproj /p:Configuration=Release

运行:

./bin/release/yaa_recorder.exe --help

录制将会输出到:

// output_path / task_name / 
//  {episode_id}.mp4 
//  {episode_id}_alpha.mp4 
//  {episode_id}_mskb.jsonl
//  {episode_id}_video.json
名字 内容
{episode_id}.mp4 主画面
{episode_id}_alpha.mp4 alpha通道
{episode_id}_mskb.jsonl 键鼠事件
{episode_id}_video.json 视频帧时间戳

训练

基于Python。

环境配置与act一致。见act install

重采样录制数据集到20Hz:

python resample_record.py --help

训练:

python act_imitate_learning.py --help

推理

基于Python。

推理:

python infer.py --help

RL fine-tuning

TODO,coming soon