如何解决为Edge TPU构建Tensorflow Lite失败
我正在尝试让Tensorflow Lite + EdgeTpu在C ++的ARM上运行,但是在使用EdgeTpu文档中的指定提交来构建Tensorflow Lite时遇到问题。 (我正在使用Tensorflow Lite开发最新版的Tensorflow)。
根据EdgeTpu文档(https://coral.ai/docs/edgetpu/tflite-cpp),需要使用以下提交构建tensorflow lite:d855adfc5a0195788bf5f92c3c7352e638aa1109。但是在使用以下命令进行构建时:
./tensorflow/lite/tools/make/download_dependencies.sh
./tensorflow/lite/tools/make/build_aarch64_lib.sh
我收到以下错误消息:
tensorflow/tensorflow/lite/tools/make/gen/aarch64_armv8-a/lib/libtensorflow-lite.a(densify.o): In function `tflite::ops::builtin::densify::Eval(TfLiteContext*,TfLiteNode*)':
densify.cc:(.text+0x378): undefined reference to `tflite::optimize::sparsity::FormatConverter<signed char>::FormatConverter(std::vector<int,std::allocator<int> > const&,TfLiteSparsity const&)'
densify.cc:(.text+0x384): undefined reference to `tflite::optimize::sparsity::FormatConverter<signed char>::SparseToDense(signed char const*)'
densify.cc:(.text+0x5f0): undefined reference to `tflite::optimize::sparsity::FormatConverter<float>::FormatConverter(std::vector<int,TfLiteSparsity const&)'
densify.cc:(.text+0x5fc): undefined reference to `tflite::optimize::sparsity::FormatConverter<float>::SparseToDense(float const*)'
collect2: error: ld returned 1 exit status
因此它确实生成了lib文件,但是生成示例失败。当我尝试将lib与自己的代码一起使用时,也会遇到相同的错误。在tensorflow repo上,此问题似乎已解决。但是我需要使用EdgeTpu的特定提交。
解决方法
获得有关github问题的答案。放在这里以备将来参考。
结果表明,指定的提交在MAKEFILE中缺少文件。应用以下修补程序:https://github.com/google-coral/edgetpu/issues/201,并且构建正常。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。