《自動釣魚AI介紹》
支援不同解析度螢幕:原神自動釣魚AI現已支援不同解析度螢幕,讓你在不同的設備上都能夠享受到釣魚的樂趣。
模型組成:原神自動釣魚AI由YOLOX和DQN兩部分模型組成。YOLOX用於魚的定位和類型的識別以及魚竿落點的定位。DQN用於自適應控制釣魚過程的點選,讓力度落在最佳區域內。
訓練方式:原神自動釣魚AI使用遷移學習和半監督學習進行訓練。這種方式可以有效提高模型的準確性和效率,讓你更輕鬆地釣到魚。
不可學習部分:除了YOLOX和DQN模型外,原神自動釣魚AI還包含一些使用opencv等傳統數字圖像處理方法實現的不可學習部分。這些方法可以幫助模型更好地處理圖像和數據,提高釣魚效率。
安裝使用流程
安裝python運行環境(直譯器),推薦使用 anaconda.
python環境組態
打開anaconda prompt(命令列介面),建立新python環境並啟動:- conda create -n ysfish python=3.8
- conda activate ysfish
複製代碼 推薦安裝python3.8或以下版本。
下載工程程式碼
使用git下載,git安裝教學:
git clone https://github.com/7eu7d7/genshin_auto_fish.git
或直接在github網頁端下載後直接解壓。
依賴庫安裝
切換命令列到本工程所在目錄:
cd genshin_auto_fish
執行以下命令安裝依賴:- python -m pip install -U pip
- python requirements.py
複製代碼 如果要使用顯示卡進行加速需要 安裝CUDA和cudnn 安裝後無視上面的命令用下面這條安裝gpu版:
- pip install -U pip
- python requirements.py --cuda [cuda版本]
- #例如安裝的CUDA11.x
- python requirements.py --cuda 111
- #或者使用代理加速
- python requirements.py --cuda 111 --proxy http://127.0.0.1:1080 # use proxy to speed up
- 可能會有Time out之類的報錯,多試幾遍,github太卡。
複製代碼 安裝yolox
切換命令列到本工程所在目錄,執行以下命令安裝yolox:預訓練權重下載
下載預訓練權重 (.pth檔案),yolox_tiny.pth 下載後將權重檔案放在 工程目錄/weights 下
訓練模組
所有站內附件皆會附上安全掃描報告 請會員查看純淨度百分比後判斷使用
相關檔案須知: 取得檔案前,請先詳細閱讀文章內容 避免不必要錯誤與誤會發生。 也可多參考文章討論樓層內容 了解附件檔案相關討論資訊。
運行釣魚AI
原神需要以1080x1920的解析度運行,解析度高的螢幕可以開窗口模式。
命令列窗口一定要以管理員權限啟動
顯示卡加速- 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鍵開始釣魚,原神需要全螢幕。出於性能考慮檢測框不會即時顯示,處理運算後台進行。
YOLOX訓練工作流程
<只用來釣魚不需要訓練,直接用預訓練權重就可以>
YOLOX部分因為打標籤太累所以用半監督學習。標註少量樣本後訓練模型生成其餘樣本偽標籤再人工修正,不斷迭代提高精度。 樣本量較少所以使用遷移學習,在COCO預訓練的模型上進行fine-tuning.
下載資料集並解壓:原神魚群資料集, 資料集(迅雷雲盤:ugha)
將yolox/exp/yolox_tiny_fish.py中的self.data_dir的值改為解壓後2個資料夾所在的路徑。
訓練程式碼:
python yolox_tools/train.py -f yolox/exp/yolox_tiny_fish.py -d 1 -b 8 --fp16 -o -c weights/yolox_tiny.pth
DQN訓練工作流程
控制力度使用強化學習模型DQN進行訓練。兩次進度的差值作為reward為模型提供學習方向。模型與環境間互動式學習。
直接在原神內訓練耗時較長,太累了。首先製作一個模擬環境,大概模擬釣魚力度控制操作。在模擬環境內預訓練一個模型。 隨後將這一模型遷移至原神內,實現域間遷移。
模擬環境預訓練程式碼:
python train_sim.py
原神遊戲內訓練:
python train.py
|