facefusionをM2Macローカルで動かしてみたが、NvidiaのGPUだとどれくらい早くなるのか気になってpaperspaceのGrowthプランを契約しちゃいました。
ここでは、色々とハマったポイントと注意点を書いておきます。
SSHトンネリングは禁止
最初Ngrokを使ったらアカウントが凍結されました。
メールしたらすぐに解除してくれたけど、メールでSSHトンネリングは禁止だと言われました。
そして、最初はLocaltunnelを使っていたのですが、何故かうまく動かなくなったので、Gradioのlive機能を使うことでこれを回避しました。
解決策
facefusionをインストールした後、以下のファイルのrun関数を修正します。
facefusion/facefusion/uis/layouts/default.py
修正前
def run(ui : gradio.Blocks) -> None:
concurrency_count = min(8, multiprocessing.cpu_count())
ui.queue(concurrency_count = concurrency_count).launch(show_api = False, quiet = True, inbrowser = facefusion.globals.open_browser)
修正後
def run(ui: gradio.Blocks) -> None:
concurrency_count = min(8, multiprocessing.cpu_count())
ui.queue(concurrency_count=concurrency_count).launch(
show_api=False,
quiet=True,
inbrowser=facefusion.globals.open_browser,
share=True # ここに `share=True` を追加します
)
これで、垢バンされずにWebUIが使えるようになりました。
paperspaceのWebUIだと死ぬほどアップロード遅いのどうにかしてほしいんだがなぁ。
ローカルマシンからのUPは遅くてwgetとか使えば早いらしいが、結構めんどくさい。
このサイトでおすすめされてるラットホール方式やるかなぁ。
https://gist.github.com/Cyberes/f050b03e59ccdf232527751f17f7ae4e
とりあえず、今はjupyter notebookのアップローダーでinput imageとtarget videoを上げておいて、リネームしてfacefusion.iniにパスを書く方法で対応中。