当前位置: 首页>编程语言>正文

TensorFlowXLA下载安装 tensorflow lite apk

背景:

我在若干年前,在看一个类似于坦克大战的游戏的时候,

看到了其内部使用了 tf lite 的机器学习库,那个时候,我就对它有点兴趣,

后来由于工作原因,代码忘记了,

直到最近,想做点东西,想把这玩意拿回来,继续搞,开始,我自己编译一套库吧。

 

这里我只编 _c 的项目,因为我需要用它。

 

预先安装 VS2022,2019也可以,2017有可能不行。

因为如果用VS系列编译,需要使用一个C++20的新特性,IDE版本太低,可能无法支持。

我这里使用的是 2022。

预先安装 git

 

其实,TF lite 的完整编译过程在网上有现成的说明,且是中文的,地址:

https://www.tensorflow.org/lite/guide/build_cmake

但是,编译过程中,可能遇到点问题,这里就简单地说一下。

 

1:下载 tf lite 代码,简单git 就可以了

git clone https://github.com/tensorflow/tensorflow.git tensorflow_src

 

2:找个放tf lite 项目的目录,比如,路径叫 lite

然后启动 vs2022 的命令行工具

x64 Native Tools Command Prompt for VS 2022

当然了,用x86版本的也可以,看需求

 

3:在 vs2022 命令行下,进入lite 目录,

开始编译 tf,

由于我这里要编译的是 _c 库,所以我可以直接指向 c 目录创建项目,具体命令如下

cmake G:/tensorflow_src/tensorflow/lite/c

静待完成即可,缺库,cmake会自己去下库,中间可能要卡很久,因为它在用git 下库。

但是,这里有个很严重的问题是,此目录下的 CMakeList 文件里面有一处代码错误,导致 tensorflowlite_c 项目生成会失败,

具体修复方式是这样的

TensorFlowXLA下载安装 tensorflow lite apk,TensorFlowXLA下载安装 tensorflow lite apk_git,第1张

 

这逼代码都cc的,弄个 c 的common,啥意思,改完之后,就可以了,

这个文件cmake也会改,但是没关系,不管它即可。

 

 

4:前面都做完了,

这里直接编译即可

cmake --build . -j

很简单吧,

 

5:第一个坑

但是第一次编译肯定是不成功的,

因为它用了一个g++才支持的特殊语法,结构指定成员初始化,

问题出在这里,修改 tf lite 项目的配置,语言标准使用 c++20 ,第一个坑就绕过了。

TensorFlowXLA下载安装 tensorflow lite apk,TensorFlowXLA下载安装 tensorflow lite apk_git_02,第2张

 

 

6:第二个坑,

编译的时候,会出现另一种情况,就是

TensorFlowXLA下载安装 tensorflow lite apk,TensorFlowXLA下载安装 tensorflow lite apk_头文件_03,第3张

 

这是什么鬼,可怜,一点办法都没有,那么这个宏也要改,

TensorFlowXLA下载安装 tensorflow lite apk,TensorFlowXLA下载安装 tensorflow lite apk_git_04,第4张

 

 重定义一下这个宏,

然后 tf lite 项目即可编过

 

7:第三个坑

然后编译 tf lite c 项目,可以顺利编译完成,

但是默认配置编译完成的模块,没有函数导出,

原因是 tf lite c 模块中,

TensorFlowXLA下载安装 tensorflow lite apk,TensorFlowXLA下载安装 tensorflow lite apk_tensorflow_05,第5张

 

静态库的宏,最初是开着的,且没有 _WIN32 的宏,所以需要改项目配置

TensorFlowXLA下载安装 tensorflow lite apk,TensorFlowXLA下载安装 tensorflow lite apk_头文件_06,第6张

 

增加 _WIN32 的宏,关掉静态库的宏,

 

至此,才算可以一步到位,全部完成。

TensorFlowXLA下载安装 tensorflow lite apk,TensorFlowXLA下载安装 tensorflow lite apk_tensorflow_07,第7张

 

 

 

TensorFlowXLA下载安装 tensorflow lite apk,TensorFlowXLA下载安装 tensorflow lite apk_tensorflow_08,第8张

 

 

TensorFlowXLA下载安装 tensorflow lite apk,TensorFlowXLA下载安装 tensorflow lite apk_头文件_09,第9张

 

 文件还是不小的,

 

但是,到这里,可以看到,突然发现的问题是,只有dll,没有头文件,咋整,

其实不用整,

tensorflowlite_c

项目下的 c_api.h 已经把头文件给我整理好了,

只是如果直接用它的话,需要在当前目录下创建个项目,或者将tf 的目录加入 include 目录,否则 tf 的头文件就找不到了,

如果不想这么搞就只能单独扒头文件了,很费事,文件太多,我放弃了,

反正这帮逼都是一个德行,

你编个linux驱动,需要有linux内核,搞个llvm,需要改整个工程,这玩意,可以了。

 




https://www.xamrdz.com/lan/5ed1934113.html

相关文章: