修复 genshin_auto_fish 里的小bug
现已支持不同分辨率屏幕
原神自动钓鱼AI由YOLOX, DQN两部分模型组成。使用迁移学习,半监督学习进行训练。 模型也包含一些使用opencv等传统数字图像处理方法实现的不可学习部分。
其中YOLOX用于鱼的定位和类型的识别以及鱼竿落点的定位。DQN用于自适应控制钓鱼过程的点击,让力度落在最佳区域内。
使用这个项目遇到的问题直接在这里提Issues就行,不用再跑到 原作者(7eu7d7) 那里提Issues了
1.一定要,一定要,一定要先安装 Visual Studio 否则安装pycocotools和yolox的时候会出现奇奇怪怪的错误
2.原神需要以1920x1080的分辨率运行,比此分辨率高的屏幕可以开窗口模式。
1.更新显卡驱动到最新版本
2.在NVIDIA官网下载CUDA,exe(local) [2.5GB] & exe(network) [33.6MB] 【任选一个】下载下来后打开无脑下一步,等待其安装完成
3.在NVIDIA官网下载 CUDNN v8.4.0 [670MB] 可能需要登陆NVIDIA账号
4.解压下载下来的CUDNN zip压缩包,将里面的所有文件复制到以下目录 C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.6\
5.重启PC,即安装完成
pip install git+https://github.com/philferriere/cocoapi.git#subdirectory=PythonAPI
方法2 (方法1无效时可尝试)
1.在此 链接 & 镜像链接 下载pycocotools源码并解压
2.激活虚拟环境后进入解压出来的cocoapi-master\PythonAPI文件夹下,输入
python setup.py build_ext install
2022/4/26 0:16 修复了鱼饵 果酿饵 ^ 赤糜饵 的选择问题
2022/4/25 23:36 优化识别的准确度
2022/3/11 18:35 修复了在鱼饵选择界面如果选择的鱼饵重复会跳出鱼饵详情界面影响程序运行的bug
2022/3/10 21:47 修复了无法换鱼饵,抛竿时无法移动的bug
2022/3/9 14:32 更新可识别渊下宫的鱼
安装python运行环境(解释器),推荐使用 anaconda.
打开anaconda prompt(命令行界面),创建新python环境并激活:
# 创建虚拟环境
conda create -n ysfish python=3.7
# 激活虚拟环境
conda activate ysfish
推荐安装python3.7或以下版本。
使用git下载
git clone https://github.com/HuYo-OS/Genshin_auto_fish.git
切换命令行到本工程所在目录:
cd genshin_auto_fish
############################################################
##推荐
pip install -U pip
pip install -r requirements.txt
安装PyTorch 需要安装CUDA,CUDNN【安装教程看最顶上】,这里以CUDA11.6.2为例:
pip3 install torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/cu113
如果你是A卡还想要运行的话可以试试安装CPU版的PyTorch
pip3 install torch torchvision torchaudio
############################################################
切换命令行到本工程所在目录,执行以下命令安装yolox:
python setup.py develop
从右边的 Releases 下载权重放到 工程目录/weights 文件夹下
原神需要以1920x1080的分辨率运行,比此分辨率高的屏幕可以开窗口模式。
命令行窗口一定要以管理员权限启动
显卡加速
python fishing.py image -f yolox/exp/yolox_tiny_fish.py -c weights/best_tiny3.pth --conf 0.25 --nms 0.45 --tsize 640 --device gpu
cpu运行
python fishing.py image -f yolox/exp/yolox_tiny_fish.py -c weights/best_tiny3.pth --conf 0.25 --nms 0.45 --tsize 640 --device cpu
运行后出现init ok后按r键开始钓鱼,原神需要以1920x1080的分辨率运行。出于性能考虑检测框不会实时显示,处理运算后台进行。
控制力度使用强化学习模型DQN进行训练。两次进度的差值作为reward为模型提供学习方向。模型与环境间交互式学习。
直接在原神内训练耗时较长,太累了。首先制作一个仿真环境,大概模拟钓鱼力度控制操作。在仿真环境内预训练一个模型。 随后将这一模型迁移至原神内,实现域间迁移。
仿真环境预训练代码:
python train_sim.py
原神游戏内训练:
python train.py