復活吧,我的貓雷! ——史上最詳細的AI貓雷本地部署攻略


聽了這么多AI貓雷的藝術創(chuàng)作,萌生了把AI貓雷部署到本地的想法!說干就干
鑒于找遍全網(wǎng)沒有發(fā)現(xiàn)簡單的教程,自己比較鑄幣,折騰起來遇到不少問題。所以我寫了這篇文章,旨在讓貓雷在所有喵喵露的硬盤中復活!
“大家內(nèi)心深處都很溫柔”
“說實話”
“貓雷看出來了”
使用的貓雷:
https://huggingface.co/spaces/innnky/nyaru-svc-3.0
操作系統(tǒng):Ubuntu 22.04
內(nèi)存:16GB
顯卡:RTX3050, 4GB(筆記本)
一、將倉庫clone到本地

1、安裝配置Anaconda
在AI貓雷環(huán)境配置中,我使用了Anaconda創(chuàng)建虛擬環(huán)境。強烈推薦你也這么干!Anaconda可以直接在官網(wǎng)https://www.anaconda.com/中下載.sh文件,下載好了進入終端,開始安裝!
顯示”>>>”后,按Enter閱讀license,然后按照指示安裝即可。過程中可能需要輸入yes以確認。
tips:此處bash命令不要用sudo,那樣會將Anaconda安裝到root用戶下????
我們裝在用戶主目錄就好喵。
在安裝完成后,終端中輸入conda命令看看能不能用
倘若沒有返回版本號,那大概是因為沒有將我們剛剛安裝好的anaconda加入環(huán)境變量,操作如下(返回版本號則跳過此步驟):
在文件最后添加:
刷新,應用更改:
一番操作后,我們現(xiàn)在可以用anaconda來配置環(huán)境了。
2、利用Anaconda配置Python環(huán)境
為什么要用Anaconda來配置Python環(huán)境,各大佬的文章應該有不少了。Anaconda可以提供相對獨立的Python環(huán)境,各個版本的Python可以共存。最開始我在Windows上嘗試配置AI貓雷時,就發(fā)現(xiàn)不少庫在Python3.11中無法使用??吹絙站的前輩是用的Python3.8(某AI貓雷評論區(qū)),于是便轉而在Ubuntu上利用Anaconda的Python環(huán)境來搞了。
首先新建一個叫py38的虛擬環(huán)境,Python版本3.8:
完成后,進入該環(huán)境(退出、刪除環(huán)境等更多conda命令可以自己查詢):
進入AI貓雷的目錄下,將requirements.txt中所有的庫通過pip安裝,此處 -i 參數(shù)可以指定源,國外源史詩級慢,而且下一半中途寄了屬實難繃,這里我們用清華源:
安裝過程中出現(xiàn)錯誤紅字莫慌,大不了在來一遍。還是不行,打開requirements.txt,手動pip安裝里面所有的庫就行。哥們在這塊至少浪費了114分鐘
tips:一定要在剛剛創(chuàng)建的py38環(huán)境下安裝捏!
至此,運行AI貓雷的環(huán)境配置完畢!
另外,我建議在開始使用之前,安裝ffmpeg,我曾出現(xiàn)過因為沒有ffmpeg而產(chǎn)生的報錯。

三、啟動!AI貓雷
在配置完環(huán)境后,我們可以直接在貓雷目錄下啟動了!!在啟動之前,可以用文本編輯器打開app.py,解除網(wǎng)頁Demo中45秒的限制。具體操作為:注釋掉以下兩行代碼:
在終端中通過python命令啟動,注意要在剛剛建的py38環(huán)境下喵:
打開瀏覽器,訪問localhost:7860即可。

四、逆天工具Spleeter的部署使用!
玩原神和不玩原神的都知道:AI貓雷要使用去掉伴奏的純?nèi)寺晛砗铣?。鑒于在網(wǎng)上下載的歌曲往往不能簡單的分開伴奏和人聲,我們在這里用很厲害的工具Spleeter來實現(xiàn)在本地對音頻文件的拆分,拆分結果將是伴奏和人聲兩個文件。也就是說,這個工具不僅能提取我們需要的純?nèi)寺曃募?,也能提取歌曲伴奏,非常強大了屬于是?/p>
1、環(huán)境配置
與AI貓雷一樣,Spleeter也是用的Python環(huán)境。在這里,我使用Anaconda新建一個叫music的python3.9的環(huán)境并使用:
接下來,安裝一些依賴:
2、安裝配置主體
使用pip安裝Spleeter主體,其中 -i 參數(shù)指定的是清華源:
安裝完成后,Spleeter命令也可能無法使用,原因也是沒有添加進PATH。和剛才一樣,在.bashrc文件末尾添加:
此處的/home/username/.local/bin是我Spleeter安裝的路徑。一般在使用pip安裝Spleeter的過程中會有黃色字體提示你要將路徑加入PATH。
在主體安裝完成后,我們需要將訓練好的模型放進工作文件夾中。模型可以從github上下載,其中2stems.tar.gz是我們需要的。2stems-finetune.tar.gz是更為精細的模型,效果和2stems.tar.gz差不多其實,要是有興趣也可以下來用用。https://github.com/deezer/spleeter/releases/tag/v1.4.0

下載后,建立一個新文件結構,將2stems.tar.gz文件解壓,得到的幾個模型文件放置于文件夾2stems中
3、Spleeter的使用
在工作目錄Spleeter下,使用命令(更多參數(shù)可輸入spleeter命令查看):
完成后,我們將在輸出路徑得到兩個音頻文件,分別是伴奏和人聲。經(jīng)過簡單的剪裁后即可食用!

五、寫在最后
在處理長音頻時,與AI繪圖(炸顯存)不同的是,好幾次崩潰是因為內(nèi)存炸掉。我直接把swap加到了34GB也無濟于事(可能還是需要更高的RAM,萌新不懂喵)。經(jīng)過反復嘗試,我發(fā)現(xiàn)在我的配置下,一分鐘左右的音頻可以勝任。另外,在成功運行時,交換空間的大小并不重要(圖3)。有幾次失敗案例挺有意思,放下面了~


上面兩次失敗案例應該都是因為輸入音頻時間太長。

另,修改swap時,使用了GParted軟件,操作簡單,貝極星也會用。

原文鏈接?https://www.pediastrum.com/necoranyaru/
鳴謝:@貓雷NyaRu_Official
AI貓雷作者疊?@Rcell
人間高質(zhì)量作者?@AI貓雷
我是草莓貓?@草莓貓Taffy
END喵