正在加载图片...
中国科学技术大学电子工程与信息科学系©2018 实验十八Android下使用Tensorflow模型 一、 实验目的 (1)了解Tensorflow模型文件的生成和保存。 (2)学习Android下使用C++库的基本步骤。 (3)学习Android下使用Tensorflow所生成的模型。 二、 实验原理 1、Python开发环境Anaconda Anaconda指的是一个开源的Python发行版本,其包含了conda、Python等 l80多个科学包及其依赖项。因为包含了大量的科学包,Anaconda的下载文件 比较大,如果只需要某些包,或者需要节省带宽或存储空间,也可以使用 Miniconda. Anaconda包括Conda、Python以及一大堆安装好的工具包,比如:numpy、 pandas等。其中Conda是一个开源的包、环境管理器,可以用于在同一个机器上 安装不同版本的软件包及其依赖,并能够在不同的环境之间切换。Miniconda包 括Conda、Python。 2、Python下使用Tensorflow MNIST是一个简单的计算机视觉数据集,它包含手写数字的图像集。可以 从这个简单的数据集开始练习Tensorflow的使用。Tensorflow编程的一个基本步 骤大致为:1、定义数据:2、定义计算图与变量;3、定义会话:4、进行计算。 建议阅读[1]学习在MNIST上进行神经网络模型搭建的简单Tensorflow例程。 3、Android JNI JNI的全称就是Java Native Interface,顾名思义,就是Java和C/C+相互通 信的接口。可以通过JNI调用系统提供的API。操作系统,无论是Liux, Windows还是Mac OS,或者一些汇编语言写的底层硬件驱动都是C/C++写的。 Java和C/C+不同,它不会直接编译成平台机器码,而是编译成虚拟机可以运 行的Java字节码的.class文件,通过JIT技术即时编译成本地机器码,所以有效 率就比不上C/C++代码,JNI技术就解决了这一痛点,JNI可以说是C语言和 Java语言交流的适配器、中间件[2]。 Android提供了3个实用的函数用来加载JNI库,分别是 System.loadLibrary(libname),Runtime.getRuntime().loadLibrary(libname), Runtime.getRuntime().load(libFilePath)[3]System.loadLibrary(libname) Runtime.getRuntime().loadLibrary(libname)这两个函数加载so库,不需要指定so 如果您在阅读过程中发现疏漏和错误,请联系《多媒体技术基础》课程组{network,cxh}@ustc.edu.cn中国科学技术大学电子工程与信息科学系© 2018 如果您在阅读过程中发现疏漏和错误,请联系《多媒体技术基础》课程组{network,cxh}@ustc.edu.cn 实验十八 Android 下使用 Tensorflow 模型 一、 实验目的 (1) 了解 Tensorflow 模型文件的生成和保存。 (2) 学习 Android 下使用 C++库的基本步骤。 (3) 学习 Android 下使用 Tensorflow 所生成的模型。 二、 实验原理 1、Python 开发环境 Anaconda Anaconda 指的是一个开源的 Python 发行版本,其包含了 conda、Python 等 180 多个科学包及其依赖项。因为包含了大量的科学包,Anaconda 的下载文件 比较大,如果只需要某些包,或者需要节省带宽或存储空间,也可以使用 Miniconda。 Anaconda 包括 Conda、Python 以及一大堆安装好的工具包,比如:numpy、 pandas 等。其中 Conda 是一个开源的包、环境管理器,可以用于在同一个机器上 安装不同版本的软件包及其依赖,并能够在不同的环境之间切换。Miniconda 包 括 Conda、Python。 2、Python 下使用 Tensorflow MNIST 是一个简单的计算机视觉数据集,它包含手写数字的图像集。可以 从这个简单的数据集开始练习 Tensorflow 的使用。Tensorflow 编程的一个基本步 骤大致为:1、定义数据;2、定义计算图与变量;3、定义会话;4、进行计算。 建议阅读[1]学习在 MNIST 上进行神经网络模型搭建的简单 Tensorflow 例程。 3、Android JNI JNI 的全称就是 Java Native Interface,顾名思义,就是 Java 和 C/C++相互通 信的接口。可以通过 JNI 调用系统提供的 API。操作系统,无论是 Linux, Windows 还是 Mac OS,或者一些汇编语言写的底层硬件驱动都是 C/C++ 写的。 Java 和 C/C++不同 ,它不会直接编译成平台机器码,而是编译成虚拟机可以运 行的 Java 字节码的.class 文件,通过 JIT 技术即时编译成本地机器码,所以有效 率就比不上 C/C++代码,JNI 技术就解决了这一痛点,JNI 可以说是 C 语言和 Java 语言交流的适配器、中间件[2]。 Android 提供了 3 个 实 用 的 函 数 用 来 加 载 JNI 库,分别是 System.loadLibrary(libname) , Runtime.getRuntime().loadLibrary(libname) , 以 及 Runtime.getRuntime().load(libFilePath)[3] 。 用 System.loadLibrary(libname) 和 Runtime.getRuntime().loadLibrary(libname)这两个函数加载 so 库,不需要指定 so
向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有