Apple ML - BNNS

官方文档:
https://developer.apple.com/documentation/accelerate/bnns

BNNS
Basic Neural Network Subroutines 基础神经网络子程序

使用先前获得的训练数据来实现和运行神经网络。

Overview
BNNS 是使用先前获得的训练数据来实现和运行神经网络的函数集合。

Creating a Neural Network for Inference
创建推理神经网络

Accelerate框架的新的基本神经网络子程序(BNNS)是可以用来构造神经网络的函数集合。它支持macOS、iOS、tvOS和watchOS,并对那些平台上支持的所有CPU进行了优化。

BNNS支持用于推理的神经网络的实现和操作,使用先前训练的输入数据。然而,BNNS没有去做训练的工作。其目的是在已训练的神经网络上提供非常高的性能推断。

这份文档大致的介绍了BNNS。有关进一步的细节,请参阅 Accelerate框架中的头文件bnns.h。

Structure of a Neural Network
神经网络的结构

神经网络是层的序列(a sequence of layers),每一层在其输入上执行滤波操作(filter operation),并将结果作为输入输入到下一层。最后一层的输出是从初始输入中得出的推断:例如,初始输入可能是图像,推断可能是恐龙的图像。

一个层由一个滤波器(filter)加上来自训练的数据和一个激活函数(activation function)组成。该滤波器设计用于在输入转换中使用训练数据。例如,在卷积层(a convolution layer )中,滤波器将使用训练数据作为卷积核中(the convolution kernel)的权重。

激活函数应用于滤波器后的输出数据。您可以从bnns.h中给出的一组简单函数中按BNNSActivationFunction枚举类型中选择激活函数。一些激活函数接受指定的一个或两个浮点参数。

BNNS提供了创建、应用和销毁三种层的功能:

卷积层,A convolution layer
用于输入图像中的每个像素,取该像素及其相邻像素,并将其值与训练数据的权重相结合,以计算输出图像中的符合的像素。

汇集层,A pooling layer
将输入图像分解成更小的矩形子图像,得到较小的输出图像。输出中的每个像素是对应子图像中像素的最大值或平均值(由您选择)

完全连接层,A fully connected layer
将其输入作为向量,该向量乘以训练数据的权重矩阵。通过激活函数更新得到的向量。

Topic

BNNS Symbols

Common data types
常用数据类型
此枚举定义了可以在参数中指定给BNNS函数的基本数据类型。

Function types
功能类型
这些是用户定义的内存管理功能的类型。

Layer parameter types
层参数类型
这些结构类型用于创建层和过滤器的函数的参数。

Filter parameters type
过滤器参数类型
这些结构类型用于创建层和过滤器的函数的参数。

Create and destroy filters and layers
创建和销毁过滤器和层
这些函数用于创建和销毁带有过滤器的层。

Apply filters
应用滤波器
这些函数将滤波器应用于输入或一组输入。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值