从源代码构建张量流后编译C ++代码

时间:2020-05-25 16:49:47

标签: c++ tensorflow build

我对TensorFlow C ++ API有点陌生。我在网上参考了很多资料,以在Ubuntu 20.04LTS上从源代码构建TensorFlow。

我在Intel i7第七代(12GB内存)上为Ubuntu使用VM,从中为VM分配了6GB。我无法从源代码完成TensorFlow的构建,因为编译过程持续了15个小时,这是我强制关闭终端的时间。收盘时显示的数字约为[〜14000 /〜15000](我不知道它们的含义和限制是什么,因为编译时两者都倾向于增加)。到那时,已在Bazel-bin目录中创建了一些文件夹。然后,我关注了this article

在参考它的响应以解决一些错误并构建loader.cc文件及其依赖项之后,我终于在4/5小时后以某种方式成功构建了它! (这次方括号中的数字约为3000/4000)。

加载程序文件成功执行。这只是一个hello world程序,其中包含与上一篇文章相同的TensorFlow库。没问题

现在我的问题是,如果我再次构建加载程序,为什么它又开始重新编译并构建所有TensorFlow库。结构为tensorflow/loader/loader.cctensorflow/loader/BUILD。它再次开始构建所有文件,并花费大量时间。由于它们已经被编译,因此它不应再次构建TensorFlow依赖项。

如果这不是使用已编译的tensorflow(从源构建)的正确方法,有人可以一步一步给我(因为我是C ++中的ML / DL新手)。我的bazel-bin/tensorflow文件夹还包含libtensorflow_framework.solibtensorflow_framework.so.2libtensorflow_framework.so.2.2.0lib_tensorflow.so.2.2.0-2.params

我还注意到,与克隆的TensorFlow存储库相比,此目录中的某些文件夹丢失了。例如,此目录的核心文件夹中不包含克隆的TensorFlow存储库中存在的公用文件夹。我不知道这是否正常。另外,鉴于我的内存有限,您会建议继续在VM上工作,因为构建会花费很多时间,而且我不知道这是否只是一次性的事情,即每次我尝试构建虚拟机时都会花这么长时间构建新项目。

很抱歉,冗长的解释,但是这些事情现在困扰了我一个星期。

0 个答案:

没有答案