在Ubuntu18.04上手动部署deepfakes/faceswap(CPU篇)

in Archives with 0 comment

deepfakes/faceswap是什么这里就不多说了,对于像你我一样的大众来说,通过deepfakes/faceswap,不需要去进修数学或物理学博士学位,就能零距离感受卷积神经网络、机器学习这样高精尖技术的强大,完了还能感叹一句:哥们也是会用TensorFlow的人了!
项目地址:
https://github.com/deepfakes/faceswap

官方提供了一键自动安装脚本,但比较容易出错,如果自动安装失败,请参考下面的手动部署安装教程。

为什么选择Linux/Ubuntu系统

在Linux系统上使用GPU进行faceswap AI训练相比Windows平台可以节省约20%的显存,这意味着你可以选择更大的batch size以及更高的机器学习效率,对于某些低端显卡来说,20%的显存直接意味着能否正常初始化faceswap训练模型。

当然,对于利用CPU进行faceswap AI训练来说,Linux和Windows性能就没有那么大的差别了,因此,如果你是Windows系统且想使用CPU进行训练,那么无需更换操作系统,可参考Windows部署教程:

在Win10 LTSC上手动部署deepfakes/faceswap(CPU篇)

至于为什么选择Ubuntu系统,因为要充分利用deepfakes/faceswap的gui界面,后续的配置及监控使用gui比cli要方便很多,而Ubuntu Desktop相比Debian Desktop等更为流行。

faceswap gui ubuntu.jpg

配置运行环境

deepfakes/faceswap依赖python3环境,本教程使用miniconda3创建虚拟化python3环境。

更换apt国内源并update&upgrade

主要针对国内机器,国外机器无需此操作。

在Ubuntu Desktop界面下,使用自带的文本编辑器要比使用基于命令行的vi或者nano编辑器更方便。

在桌面单击右键,打开ubuntu的terminal,运行

sudo chown d9 /etc/apt/sources.list

修改文件权限(将d9替换为你的ubuntu用户名),否则无法使用文本编辑器修改sources.list。你可以用文本编辑器打开/etc/apt/sources.list,然后使用ubuntu自带的firefox浏览器打开本页面,复制以下内容替换默认的sources.list文件内容:

deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse

保存sources.list以后,运行

sudo chown root /etc/apt/sources.list

恢复文件权限。

接着运行:

sudo apt update

再运行:

sudo apt upgrade -y

安装git

如果已经安装,可跳过此步骤,运行:

git --version

若提示command not found,则运行以下命令安装git:

sudo apt install git-all

git在后续安装tensorflow时会用到

安装miniconda3

对于国外机器,依次运行:

wget -c https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh

bash Miniconda3-latest-Linux-x86_64.sh

即可。但国内机器到miniconda3官方服务器的网络连通性较差,为了节省时间,请依次运行以下命令:

wget -c https://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda/Miniconda3-latest-Linux-x86_64.sh

sudo chmod +x ./Miniconda3-latest-Linux-x86_64.sh

./Miniconda3-latest-Linux-x86_64.sh

按照默认配置,完成minicoda3的安装。

一般来说,关闭terminal,并重新打开一个terminal,运行:

conda list

有内容列出则说明conda命令已经生效,如果conda命令无效,需要修改.bashrc,这里我们为了省事,不修改.bashrc,直接运行:

reboot

重启后,发现已经可以使用conda命令了。

更换miniconda3国内源

国外机器可跳过此步骤。

在桌面单击右键,打开ubuntu的terminal,依次运行以下命令:

conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/

conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/

conda config --set show_channel_urls yes

使用miniconda3创建python3环境

运行:

conda create --name faceswap python=3.7

进入faceswap虚拟化python3环境

运行:

conda activate faceswap

将faceswap源码下载到本地

对于国外机器,直接运行:

sudo apt install git -y && git clone https://github.com/deepfakes/faceswap.git

即可。对于国内机器,白天运行上述命令下载起来应该也比较快,如果是晚上,建议使用到国内网速好点的VPS中转一下:

wget -c https://github.com/deepfakes/faceswap/archive/master.zip

然后把上述zip压缩包解压到任意目录,例如:/home/d9/download目录下。

安装TensorFlow

首先进入faceswap源码路径,例如:

cd /home/d9/download/faceswap

然后依次运行以下命令:

conda install tk

pip install --default-timeout=300 -i https://pypi.tuna.tsinghua.edu.cn/simple -r requirements.txt

conda install tensorflow=1.15

国外机器运行上面第二行命令时可省略 -i https://pypi.tuna.tsinghua.edu.cn/simple

运行faceswap gui

每次重启开机后,我们首先要激活之前部署好的虚拟化python3环境,运行以下命令:

conda activate faceswap

然后进入faceswap源码路径,例如:

cd /home/d9/download/faceswap

接着运行:

python faceswap.py gui

初次运行,faceswap会提示模式选择,分别为1:AMD、2:CPU、3:NVIDIA,这里我们输入2,回车;

等待数秒钟,我们期待已久的deepfakes/faceswap gui界面出现了!

关于deepfakes/faceswap的使用,可以参考以下教程:

deepfakes/faceswap gui详细使用教程(Extract/提取篇)

deepfakes/faceswap gui详细使用教程(Training/训练篇)

deepfakes/faceswap gui详细使用教程(Convert/转换篇)

如果你的手头有GTX 1070级别以上的显卡,那么强烈推荐使用GPU来进行Training,请参考:

在Ubuntu18.04上手动部署deepfakes/faceswap(GPU篇)

当然,入门级别的GTX 750Ti和GTX 950也可以愉快的体验CUDA加持下的tensorflow-gpu faceswap,只是效率和效果可能并不那么让人满意罢了。至于A卡,deepfakes/faceswap也是支持的,但没有N卡支持的那么好。

Comments are closed.