文章目录
苹果框架学习(一)Accelerate.framework
1. Accelerate简介
Accelerate框架能做什么?
进行大规模的数学计算和图像计算,优化为高性能和低能耗。
通过利用其向量处理能力,Accelerate在CPU上提供高性能、节能的计算。下面的加速库抽象了这种能力,使为它们编写的代码在运行时执行适当的处理器指令:
-
BNNS. 为训练和推理而构造和运行神经网络的子程序。
-
vImage。广泛的图像处理功能,包括核心图形和核心视频互操作、格式转换和图像处理。
-
vDSP。数字信号处理函数,包括一维和二维快速傅里叶变换、双二次滤波、向量和矩阵运算、卷积和类型转换。
-
vForce。在向量上执行算术和超越函数的函数。
-
Sparse Solvers, BLAS,,和LAPACK。在稀疏和密集矩阵上执行线性代数的库。
虽然不是加速框架的一部分,以下库是密切相关的:
-
苹果公司存档(Apple Archive. )。对目录、文件和数据执行多线程无损压缩的框架。
-
压缩(Compression)。支持LZFSE、LZ4、LZMA和ZLIB算法的无损数据压缩算法。
-
simd。一种对小向量和矩阵进行计算的模块。
1. 神经网络
1.1 训练神经网络识别数字
建立一个简单的神经网络,训练它识别随机产生的数字。
1.2 BNNS
BNNS
实现和运行训练和推理的神经网络。
加速框架的BNNS库是一个函数集合,您可以使用它来构建用于训练和推理的神经网络。macOS、iOS、tvOS和watchOS都支持它。BNNS为这些平台上支持的所有cpu提供了高性能和低能耗优化例程。
2. 目录、文件和数据存档
2.1 压缩一个文件
压缩一个文件
压缩一个文件并将结果存储在文件系统上。
2.2 解压单文件
解压单文件
从压缩文件重新创建单个文件。
2.3 压缩文件系统目录
压缩文件系统目录
压缩整个目录的内容,并将结果存储在文件系统上。
2.4 解压缩和解压存档目录
解压缩和解压存档目录
Recreate an entire file system directory from an archive file.
2.5 将字符串压缩并保存到文件系统
将字符串压缩并保存到文件系统
压缩Unicode字符串的内容并将结果存储在文件系统中。
2.6 解压缩和解析归档字符串
解压缩和解析归档字符串
从存档文件重新创建字符串
3. 压缩
3.1 使用缓冲区压缩压缩和解压数据
使用缓冲区压缩压缩和解压数据
压缩字符串,将其写入文件系统,然后使用缓冲区压缩解压相同的文件。
3.2 压缩字符串,将其写入文件系统,然后使用缓冲区压缩解压相同的文件。
压缩字符串,将其写入文件系统,然后使用缓冲区压缩解压相同的文件。
根据文件的路径扩展名对文件执行压缩或适当的解压。
3.3 用输入和输出过滤器压缩和解压数据
用输入和输出过滤器压缩和解压数据
使用输入和输出过滤器压缩和解压流数据或来自内存的数据。
3.4 压缩和解压文件与Swift流压缩
压缩和解压文件与Swift流压缩
对所有文件执行压缩,对扩展类型支持的文件执行解压缩。
4. 图像处理要点
4.1 创建一个核心图形图像格式
创建一个核心图形图像格式
为vImage之间的转换提供核心图形图像格式的描述。
4.2 从核心图形图像创建和填充缓冲区
从核心图形图像创建和填充缓冲区
从核心图形图像初始化vImage缓冲区。
4.3 从vImage缓冲区创建一个核心图形图像
从vImage缓冲区创建一个核心图形图像
创建vImage缓冲区的可显示表示。
4.4 构建一个基本的图像处理工作流
构建一个基本的图像处理工作流
用vImage调整图像的大小。
4.5 将vImage操作应用到感兴趣的区域
将vImage操作应用到感兴趣的区域
将vImage操作的效果限制在感兴趣的矩形区域。
4.6 优化图像处理性能
优化图像处理性能
改善你的应用程序的性能转换图像缓冲格式从交错到平面。
4.7 vImage
vImage
使用CPU的向量处理器处理大型图像。