Android 神经网络API 编程模型
2017-12-18 16:49
274 查看
要使用NNAPI执行计算,首先需要构造一个有向图来定义要执行的计算。这个计算图与您的输入数据(例如,从机器学习框架传递下来的权重和偏差)相结合,形成了NNAPI运行时评估的模型。
模型:是一个含操作符的数学运算图。包括了输入的数据和从训练好的模型得到的常量值(weight)。这些操作是特定于神经网络的。它们包括二维(2D)卷积,logistic(sigmoid)激励函数,整流线性(ReLU)激励函数等等。创建模型是一个同步操作,但是一旦成功创建,就可以在线程和编译之间重用。在NNAPI中,模型被表示为ANeuralNetworksModel实例。
编译:表示将NNAPI model 编译为low-level代码的配置。创建一个编译是一个同步操作,但一旦成功创建,它可以在线程和执行之间重用。在NNAPI中,每个编译都被表示为一个ANeuralNetworksCompilation实例。
内存:表示共享内存,内存映射文件和类似的内存缓冲区。使用内存缓冲区可让NNAPI运行时更有效地将数据传输到驱动程序。应用程序通常会创建一个共享内存缓冲区,其中包含定义模型所需的每个张量。也可以使用内存缓冲区来存储执行实例的输入和输出。在NNAPI中,每个内存缓冲区都表示为一个ANeuralNetworksMemory实例。
执行:将NNAPI模型应用于一组输入并收集结果的接口。执行是一个异步操作。多个线程可以等待相同的执行。执行完成后,所有的线程将被释放。在NNAPI中,每个执行都表示为一个ANeuralNetworksExecution实例。
NNAPI 编程模型如下图
模型:是一个含操作符的数学运算图。包括了输入的数据和从训练好的模型得到的常量值(weight)。这些操作是特定于神经网络的。它们包括二维(2D)卷积,logistic(sigmoid)激励函数,整流线性(ReLU)激励函数等等。创建模型是一个同步操作,但是一旦成功创建,就可以在线程和编译之间重用。在NNAPI中,模型被表示为ANeuralNetworksModel实例。
编译:表示将NNAPI model 编译为low-level代码的配置。创建一个编译是一个同步操作,但一旦成功创建,它可以在线程和执行之间重用。在NNAPI中,每个编译都被表示为一个ANeuralNetworksCompilation实例。
内存:表示共享内存,内存映射文件和类似的内存缓冲区。使用内存缓冲区可让NNAPI运行时更有效地将数据传输到驱动程序。应用程序通常会创建一个共享内存缓冲区,其中包含定义模型所需的每个张量。也可以使用内存缓冲区来存储执行实例的输入和输出。在NNAPI中,每个内存缓冲区都表示为一个ANeuralNetworksMemory实例。
执行:将NNAPI模型应用于一组输入并收集结果的接口。执行是一个异步操作。多个线程可以等待相同的执行。执行完成后,所有的线程将被释放。在NNAPI中,每个执行都表示为一个ANeuralNetworksExecution实例。
NNAPI 编程模型如下图
相关文章推荐
- Android 网络编程 API笔记 - java.net 包相关 接口 api
- Android 网络编程 API笔记 - java.net 包相关 接口 api
- 深度学习基础模型算法原理及编程实现--06.循环神经网络
- Android 网络编程 API笔记 - java.net 包相关 接口 api
- 那些你必须了解的Android 8.1预览版和Android Studio 3.0新特性 ——神经网络API,Kotlin支持
- 【Android 应用开发】Android 网络编程 API笔记 - java.net 包 权限 地址 套接字 相关类 简单介绍
- 【Android 应用开发】Android 网络编程 API笔记 - java.net 包相关 接口 api
- 【Android 应用开发】Android 网络编程 API笔记 - java.net 包相关 接口 api
- Android 神经网络API 介绍
- Android网络编程之UDP通信模型实例
- 神经网络API、Kotlin支持,那些你必须知道的Android 8.1预览版和Android Studio 3.0新特性
- 神经网络API、Kotlin支持,那些你必须了解的Android 8.1预览版和Android Studio 3.0新特性
- 神经网络API、Kotlin支持,那些你必须了解的Android 8.1预览版和Android Studio 3.0新特性
- Android 网络编程 API笔记 - java.net 包 权限 地址 套接字 相关类 简介
- 深度学习基础模型算法原理及编程实现--04.改进神经网络的方法
- 【Android 应用开发】Android 网络编程 API笔记 - java.net 包 权限 地址 套接字 相关类 简介
- 【Android 应用开发】Android 网络编程 API笔记 - java.net 包 权限 地址 套接字 相关类 简介
- windows Socket编程之EventSelect网络模型
- 网络编程模型及网络编程三要素
- Android 通过WebService进行网络编程,使用工具类轻松实现