Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 构建TensorFlowLite Swift自定义框架_Ios_Swift_Tensorflow_Cocoapods_Tensorflow Lite - Fatal编程技术网

Ios 构建TensorFlowLite Swift自定义框架

Ios 构建TensorFlowLite Swift自定义框架,ios,swift,tensorflow,cocoapods,tensorflow-lite,Ios,Swift,Tensorflow,Cocoapods,Tensorflow Lite,我需要从源代码中构建TensorFlowLite Swift框架/cocoapod,然后在一个Swift项目中使用它而不是原始框架 下载代码并在少数情况下遵循说明,但未成功: (一) a) python configure.py b) CocoaPods开发者不适用,因为它不从本地TensOffflow文件夹获取源代码(或者我弄错了?) c) Bazel开发者我有: bazel build tensorflow/lite/experimental/swift:TensorFlowLite baz

我需要从源代码中构建TensorFlowLite Swift框架/cocoapod,然后在一个Swift项目中使用它而不是原始框架

下载代码并在少数情况下遵循说明,但未成功:

(一)

a) python configure.py

b) CocoaPods开发者不适用,因为它不从本地TensOffflow文件夹获取源代码(或者我弄错了?)

c) Bazel开发者我有:
bazel build tensorflow/lite/experimental/swift:TensorFlowLite

bazel测试tensorflow/lite/experimental/swift:Tests--swiftcopt=-启用测试

最终

generate\u xcodeproj.sh--genconfig tensorflow/lite/experimental/swift/TensorFlowLite.tulsiproj:TensorFlowLite--outputfolder~/path/to/generated/TensorFlowLite.xcodeproj

因此,我得到了一个包含libtensorflow-lite.a和几个idx文件的项目。它编译了,我看到了.a文件(但由于各种原因,应用程序和测试都没有编译),我不太明白如何使用带有Swift文件的.a lib,因为没有模块/头等文件

在所有这些练习之后,TensorFlow的根目录和
实验/Swift
文件夹中都有
TensorFlowLiteSwift.podspec
。它仍然取决于
TensorFlowLiteC
,如果我在另一个项目中通过path参数引用这个podspec,我可以
import TensorFlowLiteC
,但不能
import TensorFlowLiteSwift
/
import TensorFlowLite
,我相信TensorFlowLiteC仍然是从互联网上获取的,而不是本地获取的

2) 此处的自定义框架路径:

这里有几个问题:

a) 如果我尝试只使用内部添加了tensorflow_lite.framework的项目,那么我无法在Swift文件中引用
TensorFlowLite
/
TensorFlowLite
等。 b) 如果我尝试按照创建本地pod的路线并引用pod项目,那么
pod install
不起作用,因为没有设置强制参数(使用提供的示例)

我希望得到一个Xcode项目或工作区,它是从本地TensorFlowFile构建的,我可以从其他项目(如“import TensorFlowLiteSwift”或“import TensorFlowLite”)中引用它

问题是,我甚至不知道什么是实现这一目标的正确途径


谢谢。

好吧,我在这里找到了答案:

  • 从根tensorflow文件夹构建TensorFlowLiteC框架:

     bazel build --config=ios_fat -c opt //tensorflow/lite/experimental/ios:TensorFlowLiteC_framework
    
  • 结果可以在这里找到:
    bazel-bin/tensorflow/lite/experimental/ios/TensorFlowLiteC_framework.zip
  • 解压文件并将内容添加到新的XCode项目中(在我的例子中是Swift单窗口应用程序)。如果您通过拖放操作,那么XCode将自动更改框架、库和嵌入内容部分,还将修改框架路径
  • 将此设置生成设置\链接\其他链接器标志更改为
    -lc++
  • 完成了。你能行

     import TensorFlowLiteC
    
  • 并使用
    swift
    文件夹中的源文件
    在objective c项目中运行interated TensorFlowLiteC_框架时,出现错误“无法安装”应用程序名“。我正在使用Xcode 11.6,你能帮我吗?