如何在iOS中维护Tensorflow依赖关系并保持其可移植性?

时间:2016-11-03 01:00:20

标签: ios xcode tensorflow

我对如何将Tensorflow与我团队现有的iOS应用程序进行最佳整合存在疑问。

我目前正在将Tensorflow添加到现有的iOS项目中。我按照in the makefile README.md的说明为iOS构建了库,并且能够成功编译。

我现在一直在尝试按照here的说明来集成库。这些说明告诉您将搜索路径添加到Tensorflow构建中的许多文件夹中,这将导致问题,因为我需要使用我的团队在git中轻松共享此项目。我宁愿不必迫使其他任何人在这个问题上运行20多分钟的构建,然后才能启动并运行。

我考虑的选项如下:

选项1 :嵌入整个Tensorflow库

这里的问题是使项目规模巨大。此外,构建时间将是重要且不必要的。我们多久会建立一次以保持更新?我想避免这种情况。

选项2 :链接到单独的Tensorflow项目

使用此选项,我们将静态链接到对等项目,并在每台开发人员的计算机上具有相同的结构。这似乎意味着我们必须让每个团队成员拉动并构建Tensorflow库,然后才能构建我们的项目。有没有办法使用此选项仅复制必要的输出文件,当他们由已构建Tensorflow的人更新时,同时不要求开发人员在他们的机器上构建Tensorflow?

我也很好奇是否有第三种选择我还没有考虑过。

1 个答案:

答案 0 :(得分:0)

我想到的通常方法是将TensorFlow视为一个框架。这意味着您需要构建一次副本,然后可以将结果文件共享为可以分发给组织中其他开发人员的文件。

您应该能够在构建之后压缩您已构建TF的文件夹(从github克隆的目录),然后让其他开发人员在已知的位置安装它他们的机器。我认为这是你用#2选项说的,但区别在于其他开发人员可以避免构建它,除非他们愿意。

这样做的另一个好处是,您可以确保您的团队成员都使用相同的TensorFlow版本,以便更轻松地进行调试。

这有帮助吗?