【发布时间】:2019-10-04 08:37:08
【问题描述】:
我需要从源代码构建 TensorFlowLite Swift Framework/cocoapod,然后在其中一个 Swift 项目中使用它而不是原始框架。
在少数情况下下载了代码并按照说明进行操作,但没有成功:
1) https://github.com/tensorflow/tensorflow/tree/master/tensorflow/lite/experimental/swift
a) python configure.py
b) CocoaPods 开发者 不适用,因为它没有从本地 TensofFlow 文件夹中获取源代码(或者我弄错了?)
c) Bazel 开发人员 我愿意:
bazel build tensorflow/lite/experimental/swift:TensorFlowLite
bazel test tensorflow/lite/experimental/swift:Tests --swiftcopt=-enable-testing
最终
generate_xcodeproj.sh --genconfig tensorflow/lite/experimental/swift/TensorFlowLite.tulsiproj:TensorFlowLite --outputfolder ~/path/to/generated/TensorFlowLite.xcodeproj
因此,我得到了一个包含 libtensorflow-lite-experimental-swift-TensorFlowLite.a 和几个 idx 文件的项目。它编译了,我看到了 .a 文件(但由于各种原因,应用程序和测试都没有编译),我不太明白如何将 .a lib 与 Swift 文件一起使用,因为没有模块/头文件等. 文件。
在所有这些练习之后,TensorFlow 的根目录和 experimental/Swift 文件夹中都有 TensorFlowLiteSwift.podspec。它仍然取决于TensorFlowLiteC,如果我通过路径参数在另一个项目中引用这个 podspec,我可以做import TensorFlowLiteC 但不是import TensorFlowLiteSwift / import TensorFlowLite,我相信 TensorFlowLiteC 仍然取自互联网,而不是本地.
2) 从这里自定义框架路径: https://firebase.google.com/docs/ml-kit/ios/use-custom-tflite
这里有几个问题:
a) 如果我尝试只使用内部添加了 tensorflow_lite.framework 的项目,那么我无法在 Swift 文件中引用 TensorFlowLite / TensorFlowLiteC 等。
b) 如果我尝试遵循创建本地 pod 并引用 pod 项目的路线,则 pod install 不起作用,因为未设置强制参数(使用提供的示例)。
我希望获得一个从本地 TensorFlowFiles 构建的 Xcode 项目或工作区,并且我可以从其他项目(如“import TensorFlowLiteSwift”或“import TensorFlowLite”)中引用它
问题是我什至不明白实现它的正确途径是什么。
谢谢。
【问题讨论】:
标签: ios swift tensorflow cocoapods tensorflow-lite