摸索了一段时间AI,本地搭建了包wav2lip,SadTalker、ER-NeRF数字人、so-vits-svc项目,z 在本地做出了简单的数字人,简单的声音克隆项目,大概接触了以下AI相关组件,在此记录一下。虽然整体效果不是很完美,毕竟这种训练需要长时间操作、不断调整模型和高级硬件支持,才能有比较好的效果。
cuda是什么
CUDA(Compute Unified Device Architecture,统一计算设备架构)是显卡厂商NVIDIA推出的运算平台。
它是一种通用并行计算架构,该架构使GPU能够解决复杂的计算问题,旨在利用GPU(图形处理器)进行高性能计算,主要针对NVIDIA GPU进行优化。CUDA包含了CUDA指令集架构(ISA)以及GPU内部的并行计算引擎。开发人员可以使用C语言来为CUDA架构编写程序,所编写出的程序可以在支持CUDA的处理器上以超高性能运行,实现很快的运算速度,但前提是电脑要有与CUDA版本相匹配的GPU资源。
此外,CUDA不仅最初用于加速图形渲染,也非常适合AI训练,可用于图像识别、语音识别、自然语言处理等智能功能,大大提高了AI训练的效率和性能
cuDNN是什么
cuDNN全称NVIDIA CUDA® Deep Neural Network library,是一个用于深度神经网络的GPU加速库。
cuDNN专门针对深度神经网络(Deep Neural Networks)中的基础操作设计,基于GPU进行加速。它为深度神经网络中的标准流程提供了高度优化的实现方式,例如前向和后向卷积、池化(pooling)、归一化(normalization)以及激活层等。cuDNN的目的是通过高度优化的方式来加速深度学习框架(如TensorFlow或PyTorch)的开发,使深度学习研究人员和框架开发人员能够专注于训练神经网络和开发软件应用程序,而不必花时间在底层GPU性能调整上。
NVIDIA CUB是什么
NVIDIA CUB是一个开源的、头文件式的C++模板库,专为CUDA编程环境设计,旨在提供高性能和易用性。由NVIDIA开发并维护,CUB提供了许多基础数据结构和算法,可帮助开发者编写出高效、线程安全的GPU代码
FFmpeg是什么
FFmpeg 是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。采用 LGPL 或 GPL 许可证。它提供了录制、转换以及流化音视频的完整解决方案。
FFmpeg 在 Linux 平台下开发,但它同样也可以在其它操作系统环境中编译运行,包括Windows、Mac OS X 等。
这个项目最早由 Fabrice Bellard 发起,2004 年至 2015 年间由 Michael Niedermayer 主要负责维护。许多 FFmpeg 的开发人员都来自 MPlayer 项目,而且当前 FFmpeg 也是放在MPlayer 项目组的服务器上。项目的名称来自 MPEG 视频编码标准,前面的"FF"代表"Fast Forward"。
PyTorch是什么
PyTorch是一个开源的Python机器学习库,基于Torch,用于自然语言处理等应用程序。它可以看作加入了GPU支持的numpy,同时也可以看成一个拥有自动求导功能的强大的深度神经网络。PyTorch提供了两个高级功能:1.具有强大的GPU加速的张量计算(如NumPy),2.包含自动求导系统的深度神经网络。此外,PyTorch的前身是Torch,其底层和Torch框架一样,但是使用Python重新写了很多内容,不仅更加灵活,支持动态图,而且提供了Python接口。它是由Torch7团队开发,是一个以Python优先的深度学习框架,不仅能够实现强大的GPU加速,同时还支持动态神经网络。
PyTorch3D是什么
PyTorch3D 是一个基于 PyTorch 的 3D 深度学习库。它提供了一组用于计算机视觉和几何学习的工具和操作,如 3D 网络、3D 数据集和 3D 可视化工具。PyTorch3D 是 PyTorch 用户的一个有用的补充,因为它可以在 PyTorch 的环境中高效地处理 3D 数据。
OpenCV是什么
OpenCV是计算机视觉中经典的专用库,其支持多语言、跨平台,功能强大。 OpenCV-Python为OpenCV提供了Python接口,使得使用者在Python中能够调用C/C++,在保证易读性和运行效率的前提下,实现所需的功能。 OpenCV-Python Tutorials是官方提供的文档,其内容全面、简单易懂,使得初学者能够快速上手使用。
OpenCV由**Gary Bradsky**于1999年在英特尔创立,第一版于2000年问世。**Vadim Pisarevsky**加入Gary Bradsky,一起管理英特尔的俄罗斯软件OpenCV团队。2005年,OpenCV用于Stanley,该车赢得了2005年DARPA挑战赛的冠军。后来,在Willow Garage的支持下,它的积极发展得以继续,由Gary Bradsky和Vadim Pisarevsky领导了该项目。OpenCV现在支持与计算机视觉和机器学习有关的多种算法,并且正在日益扩展。
GCC gcc g++是什么
GCC:GNU Compiler Collection(GUN 编译器集合),它可以编译C、C++、JAV、Fortran、Pascal、Object-C、Ada等语言。
gcc是GCC中的GUN C Compiler(C 编译器)
g++是GCC中的GUN C++ Compiler(C++编译器)
其中gcc与g++,就本质而言,gcc和g++并不是编译器,也不是编译器的集合,它们只是一种驱动器,根据参数中要编译的文件的类型,调用对应的GUN编译器而已。
MinGW是什么
MinGW(Minimalist GNU for Windows), 是一个适用于微软windows应用程序的极简开发环境。MinGW提供了一个完整的开源编程工具集,适用于原生MS-Windows应用程序的开发,并且不依赖于任何第三方C运行时DLL。MinGW主要供在MS-Windows平台上工作的开发人员使用,但也可跨平台使用,MinGW包括:
- GCC的一个移植,包括C,C ++,ADA和FORTRAN编译器;
- GNU Binutils (如:as, ld, ar等);
- 一个命令行安装程序,带有可选的GUI前端,(mingw-get)用于MS-Windows上的MinGW和MSYS部署;
- 一个GUI首次设置工具(mingw-get-setup),可以帮助启动并运行mingw-get。
OpenFace是什么
OpenFace 是一个基于深度学习的人脸识别库,它利用神经网络模型学习人脸的特征,并将这些特征用于面部识别。
Audio-Slicer是什么
Audio-Slicer 是一个开源的音频处理工具,它通过静音检测这种简单而有效的方式,根据预设的条件和参数,将音频文件切割并输出切割后的音频片段。自动化音频切割的过程,节省手动切割音频的时间和精力,提高处理效率。更重要的是,Audio-Slicer 是有图形化界面的