Roop:苹果笔记本MacBook M1安装记录!
在线版讲了!
离线版搞了!
封印也解了!
接下来搞点什么?
手上有台Mac Book Air M1 ,要不要也搞一搞?
一个是看一下能不能跑起来,第二个是看看速度怎么样!
先说结论啊,不是很快,但是完全可以跑。
我们的Mac用户也能用上AI换脸了。
下面说说过程:
0.让Tim送你一台M1
1.安装conda
2.克隆源代码
3.修改依赖文件
4.安装依赖
5.运行测试
0.让Tim送你一台M1
电脑自备,目前没有教程,可以白嫖Mac笔记本啊~~~苹果的东西是真好,就是小贵。可以攒钱备战 Apple Vision Pro了。
有人说这东西没啥鸟用,你问过niao了么?我们永远要对新科技抱有最大的热忱。
苹果这次上来就是Pro版,真当是…
是不是这种操作,也可以期待一下了。
娱乐话题说话完了,下面就开始认真干活了。
补充:
MAC要先确保brew可用!
1.安装conda
简单说一句,Conda是一个Python包管理工具,相比直接装Python,用Conda可以做到环境隔离,要方便优雅很多。
我在特别早的时候就尝试在M1上安装DeepFaceLab,所以很早就装了Conda,由于当时Conda官方还没有很好的支持M1,所以使用了一个叫做miniforge3的项目。
项目地址:
https://github.com/conda-forge/miniforge
现在Conda官方也支持了。
Conda地址:
https://docs.conda.io/en/latest/miniconda.html
不管是哪一个,打开之后根据自己的硬件版本选择。如果是Inter的就选x86-64 , 如果是M系列(Apple Silicon)就选ARM64。
我这里还是以miniforge3为例,下载了arm64版本,存储路径选了桌面。
下载完成之后,打开终端。
可以使用快捷键command+space激活聚焦搜索,然后输入“终端” 就能找到了。
然后,输入命令:
cd Desktop sh Miniforge3-MacOSX-arm64.sh
按回车,阅读协议,然后输入yes按回车,同意协议!
Do you accept the license terms? [yes|no] [no] >>> Please answer 'yes' or 'no':' >>> Please answer 'yes' or 'no':' >>> Please answer 'yes' or 'no':' >>> yes
然后是选安装路径,默认情况就是直接按回车。
Miniforge3 will now be installed into this location: /Users/tony/miniforge3 - Press ENTER to confirm the location - Press CTRL-C to abort the installation - Or specify a different location below
很快就问你是否要初始化conda,输入yes,按回车。
Transaction finished installation finished. Do you wish the installer to initialize Miniforge3 by running conda init? [yes|no] [no] >>>
很快就可以看到安装成功的提示了。
Thank you for installing Miniforge3! (base) tony@tonydeMacBook-Air Desktop %
这样Conda就安装好了,这个过程应该不会有什么问题。你要输入“yes” 和按回车就可以了。
安装完成之后,会自动进入默认的base环境。你可以直接使用这个环境,当然,大部分情况下是创建一个专门的运行环境。
输入命令:
conda create -n roop python=3.10
创建环境的过程需要联网获取依赖包,中途需要输入一个yes来确认。创建成功之后,输入命令激活这个环境。
输入命令:
conda activate roop
激活成功之后,所有命令都会带(roop)前缀。
2.克隆源代码
环境装好了,就可以开始拉取源代码了。
输入命令:
git clone https://github.com/s0md3v/roop.git
正常输出:
Cloning into 'roop'... remote: Enumerating objects: 1391, done. remote: Counting objects: 100% (752/752), done. remote: Compressing objects: 100% (202/202), done. remote: Total 1391 (delta 628), reused 584 (delta 541), pack-reused 639 Receiving objects: 100% (1391/1391), 90.66 MiB | 10.21 MiB/s, done. Resolving deltas: 100% (864/864), done.
3. 修改依赖文件
我们需要安装的依赖包全部在requirements.txt文件中,但是那个依赖没有完全适配M1,所以需要稍微修改一下。
打开roop文件夹,找到requirements.txt文件,打开。
修改一下torch版本,改完后如下:
--extra-index-url https://download.pytorch.org/whl/cu118 numpy==1.23.5 opencv-python==4.7.0.72 onnx==1.14.0 insightface==0.7.3 psutil==5.9.5 tk==0.1.0 pillow==9.5.0 torch==2.0.1 onnxruntime==1.15.0; sys_platform == 'darwin' and platform_machine != 'arm64' onnxruntime-silicon==1.13.1; sys_platform == 'darwin' and platform_machine == 'arm64' onnxruntime-gpu==1.15.0; sys_platform != 'darwin' tensorflow==2.13.0rc1; sys_platform == 'darwin' tensorflow==2.12.0; sys_platform != 'darwin' opennsfw2==0.10.2 protobuf==4.23.2 tqdm==4.65.0
4. 安装依赖
如果按上面的步骤来,你当前所在的位置为Desktop。安装依赖需要进入roop文件夹。
输入命令:
cd roop
pip install -r requirements.txt
这个过程全称无需人工干预,会需要一点时间。如果网络比较好,大概几分钟就可以搞定。不好话可能永远搞不定。遇到问题,请自行用“魔法”解决。
到这里,软件的配置已经全部完成了。
补充:
这里应该还需要安装两个依赖,一个是FFMPEG,一个是GIT。因为我之前已经装了,所以写文章的时候忘了加上了。
安装GIT:
brew install git
安装FFmepg
brew install ffmpeg
如果提示没有brew命令,需要先装homebrew。
5.运行测试
通过上面的步骤,软件配置已经全部搞定,但是运行之前,还需要一个叫“inswapper_128.onnx” 的模型文件。roop的github主页上有,在我之前发布的离线版里也有。
获取这个文件之后,放到roop文件里面,是直接放在里面,不要改名字,也不要放到子文件里。
然后输入命令:
python run.py
输入命令,按回车之后,需要等待一会儿。
然后会跳出一个窗口,但是显示不太正常,需要双击一下顶部的拖动区域。
然后就可以看到完整的窗口了。
接下来点击一下“Select a face” 选择一张照片,点击“Select a target” 选择一个视频或者照片,点击“Start”开始处理。
底部有一个绿色的提示信息,可以参考一下。
点击开始之后会出现一个错误,如下图:
我以为又要被卡住了,没想到点击OK之后,就自动开始了。所以这个错误可以忽略先。
接下来看终端工具里面,程序会自动在线下载两个模型,下载完成之后就开始处理视频了。
这个时候打“开活动检测器“ 可以看到CPU占用率在50-70%之间,GPU没用上。
我的demo视频,总共用了大概5分钟的样子。所以,在M1上换个小视频玩玩,也不是很困难的事情了。大于一分钟的,还是不建议玩,会等很久。
现在苦学技术,半年后就可以在Apple Vision Pro中沉浸式欣赏咯!
最后,说点啥呢~~点个赞吧,可以分享!
20230630更新:
Mac下面提速命令(换脸+修复增强)
python run.py --execution-provider coreml --frame-processor face_swapper face_enhancer
Mac下面提速命令(换脸)
python run.py --execution-provider coreml --frame-processor face_swapper
相关文章:
按照这个步骤部署执行python run.py 但是会提示 illegal hardware instruction,是因为M1的原因吗?
有用我最后更新的命令么? 我的M1是正常的,比如用cpu快一点。
terDnD.py”, line 55, in _require
raise RuntimeError(‘Unable to load tkdnd library.’)
RuntimeError: Unable to load tkdnd library.
你好请问这个问题怎么解决?在mac上
新版没有这个问题。