Win11本地部署FaceFusion3最强AI换脸,集成Tensorrt10.4推理加速,让甜品显卡也能发挥生产力
FaceFusion3.0.0大抵是现在最强的AI换脸项目,分享一下如何在Win11系统,基于最新的cuda12.6配合最新的cudnn9.4本地部署FaceFusion3.0.0项目,并且搭配Tensorrt10.4,提高推理速度和效率,让甜品级显卡也能爆发生产力。
安装最新版本Cuda12.6以及Cudnn9.4
CUDA是NVIDIA公司开发的一种技术,它能让GPU像CPU一样编程,让GPU也能参与到计算中来,从而加速计算过程。你可以把它想象成一种“语言”,让程序员可以指挥GPU的“工人”们一起工作。
cuDNN则是专门为深度学习设计的“工具箱”。深度学习就像盖房子,需要很多“积木”块,比如卷积、池化等操作。cuDNN提供了这些预先优化好的“积木”,让程序员可以直接使用,而不用自己从头开始编写这些复杂的代码,从而大大提高了深度学习模型的训练和推理速度。 它就像一个经验丰富的建筑工人,能快速高效地完成盖房子的工作。
安装包可以去 Nvidia 官方网站进行下载,但是必须登录Nvidia账号,这里为大家下载好了最新的安装包:
https://pan.quark.cn/s/bc3ab3494596
首先双击 cuda_12.6.1_560.94_windows.exe 进行安装,注意不要安装到C盘,因为太占地方,建议在别的盘符建立12.6目录,然后进行安装即可。
安装成功后,运行命令进行检查:
(base) PS C:\Users\zcxey> nvcc -V
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2024 NVIDIA Corporation
Built on Wed_Aug_14_10:26:51_Pacific_Daylight_Time_2024
Cuda compilation tools, release 12.6, V12.6.68
Build cuda_12.6.r12.6/compiler.34714021_0
(base) PS C:\Users\zcxey>
可以看到显示的版本是 12.6
随后打开 cudnn-windows-x86_64-9.4.0.58_cuda12-archive 目录,把其中的 bin、include以及lib目录直接拷贝覆盖到 cuda 的安装目录即可。至此,cuda12.6和其对应的cudnn9.4就安装好了,注意版本号必须吻合。
安装Tensorrt10.4
关于Tensorrt,想象一下你训练好了一只非常聪明的狗狗(你的深度学习模型),它已经学会了识别各种猫和狗的图片。但是,这只狗狗每次识别图片都需要很长时间,效率不高。
TensorRT就像一个训练师,它能帮助你把这只狗狗训练得更加高效。它会优化狗狗的识别方法,让它能够更快更准确地识别图片,并且消耗更少的能量。 所以,用TensorRT优化后的模型,就能在你的电脑或服务器上更快地进行推理(识别图片),从而节省时间和资源。
Tensorrt主要针对的是已经训练好的模型,而不是训练模型本身。 它就像一个专业的优化器,让你的模型在实际应用中跑得更快更省力。
打开 TensorRT-10.4.0.26 目录,把 lib 目录下的所有动态库 dll 文件全部拷贝到 cuda12.6 安装目录的 bin目录下即可:
Directory of D:\12.6\bin
2024/09/27 11:08 <DIR> .
2024/09/27 10:48 <DIR> ..
2024/08/15 02:14 228,352 bin2c.exe
2024/08/15 02:01 66 compute-sanitizer.bat
2024/09/27 10:48 <DIR> crt
2024/08/15 02:11 202,752 cu++filt.exe
2024/08/15 02:34 100,806,656 cublas64_12.dll
2024/08/15 02:34 510,903,296 cublasLt64_12.dll
2024/08/15 02:14 7,739,904 cudafe++.exe
2024/08/15 02:11 556,544 cudart64_12.dll
2023/11/30 16:26 288,296 cudnn64_8.dll
2024/09/01 04:24 265,272 cudnn64_9.dll
2024/09/01 04:24 243,945,512 cudnn_adv64_9.dll
2023/11/30 16:26 125,217,320 cudnn_adv_infer64_8.dll
2023/11/30 16:26 116,558,888 cudnn_adv_train64_8.dll
2024/09/01 04:24 4,002,872 cudnn_cnn64_9.dll
2023/11/30 16:26 582,690,344 cudnn_cnn_infer64_8.dll
2023/11/30 16:26 122,242,104 cudnn_cnn_train64_8.dll
2024/09/01 04:24 432,804,904 cudnn_engines_precompiled64_9.dll
2024/09/01 04:24 16,297,000 cudnn_engines_runtime_compiled64_9.dll
2024/09/01 04:25 2,063,400 cudnn_graph64_9.dll
2024/09/01 04:25 44,681,784 cudnn_heuristic64_9.dll
2024/09/01 04:25 107,492,904 cudnn_ops64_9.dll
2023/11/30 16:26 89,759,272 cudnn_ops_infer64_8.dll
2023/11/30 16:26 70,162,472 cudnn_ops_train64_8.dll
2024/08/15 03:03 275,258,368 cufft64_11.dll
2024/08/15 03:03 163,328 cufftw64_11.dll
2024/08/15 02:45 1,513,984 cuinj64_126.dll
2024/08/15 02:11 11,713,024 cuobjdump.exe
2024/08/15 02:25 63,279,104 curand64_10.dll
2024/08/15 04:12 116,768,256 cusolver64_11.dll
2024/08/15 04:11 77,813,248 cusolverMg64_11.dll
2024/08/15 03:09 287,497,216 cusparse64_12.dll
2024/08/15 02:14 881,664 fatbinary.exe
2024/08/15 03:20 292,352 nppc64_12.dll
2024/08/15 03:20 16,235,008 nppial64_12.dll
2024/08/15 03:20 6,234,624 nppicc64_12.dll
2024/08/15 03:20 9,865,728 nppidei64_12.dll
2024/08/15 03:20 96,892,416 nppif64_12.dll
2024/08/15 03:20 39,228,416 nppig64_12.dll
2024/08/15 03:20 9,341,952 nppim64_12.dll
2024/08/15 03:20 36,831,232 nppist64_12.dll
2024/08/15 03:20 265,728 nppisu64_12.dll
2024/08/15 03:20 4,221,440 nppitc64_12.dll
2024/08/15 03:20 12,687,872 npps64_12.dll
2024/08/15 02:34 331,776 nvblas64_12.dll
2024/08/15 02:14 14,029,824 nvcc.exe
2024/08/15 02:14 343 nvcc.profile
2024/08/15 02:11 50,708,480 nvdisasm.exe
2024/08/15 02:14 838,656 nvfatbin_120_0.dll
2024/08/30 19:47 215,426,088 nvinfer_10.dll
2024/08/30 19:46 5,688 nvinfer_10.lib
2024/08/30 19:48 1,436,593,704 nvinfer_builder_resource_10.dll
2024/08/30 19:47 616,488 nvinfer_dispatch_10.dll
2024/08/30 19:46 4,362 nvinfer_dispatch_10.lib
2024/08/30 19:46 29,457,448 nvinfer_lean_10.dll
2024/08/30 19:46 5,104 nvinfer_lean_10.lib
2024/08/30 19:47 30,986,792 nvinfer_plugin_10.dll
2024/08/30 19:46 2,564 nvinfer_plugin_10.lib
2024/08/30 19:47 565,288 nvinfer_vc_plugin_10.dll
2024/08/30 19:46 2,374 nvinfer_vc_plugin_10.lib
2024/08/15 02:13 38,856,192 nvJitLink_120_0.dll
2024/08/15 02:23 4,901,888 nvjpeg64_12.dll
2024/08/15 02:14 20,608,000 nvlink.exe
2024/08/30 19:47 3,064,872 nvonnxparser_10.dll
2024/08/30 19:46 2,524 nvonnxparser_10.lib
2024/08/15 02:45 2,210,304 nvprof.exe
2024/08/15 02:11 254,464 nvprune.exe
2024/08/15 02:11 5,345,792 nvrtc-builtins64_126.dll
2024/08/15 02:11 45,535,744 nvrtc64_120_0.alt.dll
2024/08/15 02:11 45,475,328 nvrtc64_120_0.dll
2024/08/15 03:45 129 nvvp.bat
2024/08/15 02:14 20,220,416 ptxas.exe
2024/08/15 02:14 84,480 __nvcc_device_query.exe
71 File(s) 5,612,029,986 bytes
3 Dir(s) 128,267,644,928 bytes free
至此,就完成了 Tensorrt10.4 的安装。
安装和部署FaceFusion3.0.0
首先确保本地已经安装好 Python3.11 的开发环境,随后克隆官方项目:
git clone https://github.com/facefusion/facefusion.git
cd facefusion
安装基础依赖:
pip3 install -r requirements.txt
接着安装 onnxruntime-gpu:
pip3 install onnxruntime-gpu
ONNX Runtime-GPU 是一个高性能的推理引擎,它能够运行使用 ONNX (Open Neural Network Exchange) 格式表示的机器学习模型。 关键在于“GPU”部分,这意味着它专门针对 NVIDIA 的图形处理器 (GPU) 进行优化,以实现比在 CPU 上运行模型更快的速度和更高的效率。
注意默认安装的onnxruntime-gpu版本是19.2,它专门是为cuda12适配的。
安装 tensorrt 库:
pip3 install tensorrt==10.4.0 --extra-index-url https://pypi.nvidia.com
这里是安装 tensorrt 的python3.11运行库
最后安装torch:
pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu124
注意后缀是cu124,而不是cu118或者cu121
安装成功后,进入 python3.11 的终端:
>>> import onnxruntime as ort
>>> print(ort.get_available_providers())
['TensorrtExecutionProvider', 'CUDAExecutionProvider', 'CPUExecutionProvider']
如果三种后端支持都被打印出来了,分别是 cpu、cuda以及Tensorrt 那么说明配置和安装都成功了。
运行命令:
python3 facefusion.py run
进入换脸主界面:
由于有了Tensorrt的加持,也支持实时换脸,进入摄像头换脸界面:
python3 facefusion.py run --ui-layouts webcam
摄像头换脸效果:
最后,需要注意的是,FaceFusion3.0.0需要本地安装ffmpeg软件:
winget install -e --id Gyan.FFmpeg
Win11本地部署FaceFusion3最强AI换脸,集成Tensorrt10.4推理加速,让甜品显卡也能发挥生产力的更多相关文章
- ThinkPHP - 1 - 本地部署
ThinkPHP ThinkPHP是一个快速.简单的基于MVC和面向对象的轻量级PHP开发框架,遵循Apache2开源协议发布,从诞生以来一直秉承简洁实用的设计原则,在保持出色的性能和至简的代码的同时 ...
- 英特尔与 Facebook 合作采用第三代英特尔® 至强® 可扩展处理器和支持 BFloat16 加速的英特尔® 深度学习加速技术,提高 PyTorch 性能
英特尔与 Facebook 曾联手合作,在多卡训练工作负载中验证了 BFloat16 (BF16) 的优势:在不修改训练超参数的情况下,BFloat16 与单精度 32 位浮点数 (FP32) 得到了 ...
- 中国最强AI超级服务器问世,每秒提供AI计算2000万亿次
https://mp.weixin.qq.com/s/1EVczHp11OJ4GEjeE3z5cA 业内唯一以“AI计算”为核心的人工智能大会昨天发布了一份重要报告. 9月12日,<中国AI计算 ...
- AI换脸教程:DeepFaceLab使用教程(1.安装及分解视频)
首先需要选择合适的DeepFaceLab下载(https://www.deepfacelabs.com/list-5-1.html),然后安装相应的显卡驱动,如果已经准备好这些工作,那么恭喜你,终于开 ...
- AI换脸
AI换脸 技术 调用到百度的AI接口,layui的图片上传,栅格化布局 核心代码 纯py文件运行 # encoding:utf-8 import requests import base64 impo ...
- Window10环境下,Stable Diffusion的本地部署与效果展示
Diffusion相关技术最近也是非常火爆,看看招聘信息,岗位名称都由AI算法工程师变成了AIGC算法工程师,本周跟大家分享一些Diffusion算法相关的内容. Window10环境下,Stable ...
- 本地部署arcgis by eclipse
首次来博客园发帖,从本地部署arcgis api开始吧: 首先还是下载arcgis的api包开始,在中国区官网下载arcgis包: 1.http://support.esrichina.com.cn/ ...
- ArcGIS server开发之API for js 本地部署
ArcGIS Server for javascript 本地部署 第一次使用arcgis server for js开发,在经验方面还有很多的不足,所以将自己在开发过程中遇到的问题写出来与大家共享. ...
- Exceptionless 本地部署
免费开源分布式系统日志收集框架 Exceptionless 前两天看到了这篇文章,亲身体会了下,确实不错,按照官方的文档试了试本地部署,折腾一番后终于成功,记下心得在此,不敢独享. 本地部署官方wik ...
- ArcGIS JavaScript API本地部署离线开发环境[转]
原文地址:http://www.cnblogs.com/brawei/archive/2012/12/28/2837660.html 1 获取ArcGIS JavaScript API API的下载地 ...
随机推荐
- Python 正则表达式实战之Java日志解析
需求描述 基于生产监控告警需求,需要对Java日志进行解析,提取相关信息,作为告警通知消息的内容部分. 提取思路 具体怎么提取,提取哪些内容呢?这里笔者分析了大量不同形态的生产日志,最后总结出4种形态 ...
- 洛谷[NOIP2015 普及组] 金币
[NOIP2015 普及组] 金币 题目背景 NOIP2015 普及组 T1 题目描述 国王将金币作为工资,发放给忠诚的骑士.第一天,骑士收到一枚金币:之后两天(第二天和第三天),每天收到两枚金币:之 ...
- app专项测试:app弱网测试(测试工具)
app专项测试:app弱网测试(测试工具) 除了常用的 fiddler,charles 可以模拟弱网,还有硬件工具弱网仪 HoloWAN也可以模拟弱网 使用弱网仪有以下优点:1.即插即用,无需调试和复 ...
- app接口测试
app接口测试 一,app请求服务器端接口和web页面请求服务器端接口有什么区别? 1,大多数项目如果有app的话,而且web端和app端的页面显示结构已经功能都相似,调用的后台接口也是一样的. 2, ...
- 【Vue】Vue-Cli 安装
首先需要Node.js环境支持: Node.js官网下载: https://nodejs.org/en/ 右边稳定版,左边最新版 下载安装程序之后双击运行,无脑下一步 打开终端输入版本查看命令: no ...
- 【Lodop】02 C-Lodop手册阅读上手
版本:4.0.6.2 一.概述 C-Lodop云打印是一款精巧快捷的云打印服务产品,以Lodop功能语句为基础,JS语句实现远程打印 移动设备+Wifi+普通打印机+集中打印 C-Lodop对客户端浏 ...
- 使用GPU计算时,单精度float32类型和半精度float16类型运算效率的区别
最近在看资料时发现写着使用float16 半精度类型的数据计算速度要比float32的单精度类型数据计算要快,因为以前没有考虑过数据类型对计算速度的影响,只知道这个会影响最终的计算结果精度.于是,好奇 ...
- 国产首款IDE环境:数字广东公司联合麒麟软件打造的国内首款适配国产操作系统、蜘蛛创新的集成开发环境CEC-IDE正式亮相
参考: https://www.youtube.com/watch?v=fOpBEWZVKU0 在中国it历史上继"木兰编程语言(实际上套壳Python),红旗操作系统(实际上套壳Chrom ...
- 使用MPI时执行代码时运行命令中参见的几种参数设置
我们写完mpi代码以后需要通过执行命令运行写好的代码,此时在运行命令中加入设置参数可以更好的控制程序的运行,这里就介绍一下自己常用的几种参数设置. 相关资料,参看前文: https://www.cnb ...
- csv或excel文件通过plsql导入到oracle数据库中
1.背景 实际开发中经常遇到将数据直接导入到数据库中,操作如下 2.操作 第一步: 第二步:选择要导入的csv文件 第三步:选择数据库表字段与csv的列对应,然后点击导入,完成 完美!