问题标签 [bazel]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
compilation - 如何在 Red Hat 6.7 上安装 bazel 和 tensorflow
我想从源代码安装 bazel,并使用 bazel 在运行 redhat 6.7 的集群上编译 tensorflow。当我尝试安装 bazel 时,glibc 版本(2.12)太旧了。我没有对集群的 root 访问权限。在这种情况下可以安装 tensorflow 吗?
我的系统信息:
该系统还安装了较新的 gcc。我尝试使用它,bazel仍然无法编译。
在编译 bazel 时,出现以下错误:
也有人报告了这个问题: https ://github.com/tensorflow/tensorflow/issues/110 和https://github.com/tensorflow/tensorflow/issues/527
如何在本地安装缺少的依赖项,并让 bazel 选择正确的库?
tensorflow - 在 Ubuntu 14.04 LTS 上从源代码构建 TensorFlow:gcc: internal compiler error: Killed (program cc1plus)
我已经成功地在 Debian 下从源代码构建了 TensorFlow,但目前无法从使用Ubuntu 14.04 LTS的新虚拟机开始构建它。Debian 的 IIRC 我尝试了 g++/gcc 5.2,但不得不降级到 g++/gcc 4.9,它工作正常。如果我安装 g++,按照说明从源安装,版本为 4.8 并且失败。
gcc:内部编译器错误:被杀死(程序 cc1plus)
4.9我还没累。
我检查了上次Jenkins 构建的信息,但找不到工具及其版本列出的任何内容。甚至打开的问题:Jenkins 构建日志中列出的构建工具和版本
已知哪些版本的 g++/gcc 可以工作?
构建机器使用什么版本的 g++/gcc?
编辑
发现这个:TensorFlow.org 持续集成
cpu-cores - 有没有办法限制 Bazel 使用的 CPU 内核数量?
有没有办法告诉 Bazel 在构建它可以使用多少个 CPU 内核时?
TL;博士
我在 VMware Workstation 上构建 TensorFlow,作为虚拟机,我可以调整虚拟机的处理器和内核数量。
在构建 TensorFlow 的过程中,我发现只使用一个核心就可以了。当我为 Workstation 提供四个内核并构建 TensorFlow 时,它最终会停止系统到我必须重新启动的地步。
如果我等了几个小时(不理会它一夜之间),它有时会返回以下错误:
gcc:内部编译器错误:被杀死(程序 cc1plus)
虽然我可以使用虚拟机配置选项更改内核数量,但我更愿意这样做,而无需关闭并重新启动虚拟机。
tensorflow - 在没有互联网的情况下安装 Tensorflow 点子轮
我的 linux 计算机上没有互联网访问权限,因此我按照TensorFlow Get Started从源代码安装了 TF 。
由于缺乏互联网连接,我在构建 trainer_example 时遇到了一些麻烦,希望来自 tensorflow 的人通过为 re2、gemmlowp、jpegsrc v9a、libpng 和 6 创建本地存储库并相应地修改 WORKSPACE 来帮助我完成它。
当我尝试 bazel 构建 pip_package 来创建轮子时,我想我遇到了同样的问题,但是:
- 存储库列表非常长(手动安装每个),即使它们似乎主要是 PolymerElements 的一部分
有简单的解决方法吗?
android - 在 Android 上运行 TensorFlow 模型
我正在尝试找出在 Android 上训练和部署 Tensorflow 模型的工作流程。我知道 StackOverflow 上与此类似的其他问题,但它们似乎都没有解决我遇到的问题。
在研究了 Tensorflow 存储库中的 Android 示例后,我认为工作流程应该是这样的:
- 在 Python 中构建和训练 TensorFlow 模型。
- 创建一个新图,并将所有相关节点(即不是负责训练的节点)转移到这个新图上。经过训练的权重变量作为常量导入,以便 C++ API 可以读取它们。
- 在 Java 中开发 Android GUI,使用 native 关键字来存根对 Tensorflow 模型的调用。
- 运行 javah 为 Tensorflow 本机调用生成 C/C++ 存根代码。
- 使用 Tensorflow C++ API 填写存根,以读取和访问经过训练/序列化的模型。
- 使用 Bazel 构建 Java 应用程序、原生 Tensorflow 接口(作为 .so 文件)并生成 APK。
使用 adb 部署 APK。
第6步是问题。Bazel 将愉快地编译一个本机(针对 OSX).dylib,我可以通过 JNI 从 Java 调用它。同样,Android Studio 会生成一大堆 XML 代码来制作我想要的 GUI。但是,Bazel 希望所有 java 应用程序代码都位于“WORKSPACE”顶级目录中(在 Tensorflow 存储库中),并且 Android Studio 立即从 SDK 链接到各种外部库以制作 GUI(我知道是因为我的Bazel 编译运行在找不到这些资源时失败)。我能找到强制 Bazel 交叉编译 .so 文件的唯一方法是使其成为 Android 规则的依赖规则。直接交叉编译原生库是我更喜欢将我的 AS 代码移植到 Bazel 项目的方式。
我该如何解决这个问题?Bazel 应该会编译 Android 代码,但 Android Studio 会生成 Bazel 无法编译的代码。来自 Google 的所有示例都只是为您提供了来自 repo 的代码,而没有任何关于它是如何生成的线索的。据我所知,作为 Android Studio 应用程序一部分的 XML 应该是生成的,而不是手工制作的。如果可以手工制作,我如何避免对所有这些外部库的需要?
也许我弄错了工作流程,或者我不理解 Bazel/Android Studio 的某些方面。任何帮助表示赞赏。
谢谢!
编辑:
我最终做的几件事可能有助于图书馆的成功建设:
- 我升级到最新的 Bazel。
- 我从源代码重建了 TensorFlow。
我在下面实现了推荐的 Bazel BUILD 文件,并添加了一些内容(取自 Android 示例):
/li>
我还没有验证这个库是否可以在 Android 中加载和使用;Android Studio 1.5 似乎对承认本机库的存在非常挑剔。
tensorflow - 无法使用 bazel 从源代码构建 TensorFlow。2016 年 1 月 22 日
我想从源代码安装最新的 TensorFlow。我拉了存储库,然后运行
bazel build -c opt //tensorflow/tools/pip_package:build_pip_package
我收到了这个错误:
opencv - 如何使用 Bazel 构建项目使用 OpenCV
使用 Bazel 构建使用 OpenCV 库的 C++ 代码的最佳方法是什么?即,BUILD 规则是什么样的?
WORKSPACE
为了使用 bazel 编译以下代码, and文件应该是BUILD
什么样子:
android - Can Bazel be configured to work with Clang on Android NDK?
There's a note in this Bazel example for android that says:
Yes, we know that this is a little clunky. We are working on the following things (and more):
Supporting other architectures than
armeabi-v7a
and compilers other than GCC 4.9
Is there any way to hack around this to swap GCC for Clang until it is officially supported?
bazel - 未绑定任何东西时如何设置//external:android/sdk
在尝试构建一个使用 bazel 的 git repo 时,我得到了 //external:android/sdk 没有绑定到任何东西的错误,我找不到这个配置的位置,所以我可以修复它。
我已经加载了一个新的 ubuntu 14.04,我正在尝试从源代码构建 github.com/google/shipshape。我已按照此处给出的说明安装了构建它所需的一切。
基本上安装了 golang、openjdk-8-jdk、openjdk-8-source、bazel 并运行了以下内容:
但是当我开始构建时,bazel build //...
我得到了这个错误:
谷歌搜索给了我这个链接,上面写着
这根本没有告诉您您需要更新 WORKSPACE 中的某些信息以指向您的 Android SDK。有一个更友好的错误消息会很好。
我解释说,因为某处有我应该更新的绑定,所以需要更新现有的代码行。
但是我应该在其中执行构建的文件夹中的 WORKSPACE 是空的,所以应该有另一个文件具有我可以编辑的绑定。
我找到了这个文件夹/home/alex/.bazel/base_workspace
,但我没有找到任何似乎是正确编辑的 WORKSPACE。
我还用 grep 找到了这些:
~/.cache/bazel/_bazel_root/hash/README
~/.cache/bazel/_bazel_root/hash/external/local-jdk/WORKSPACE
但是看到它们在缓存中,那可能是错误的。
所以要么 DEFAULT.WORKSPACE 在其他地方,我需要在那里做一些绑定的事情来让它找到我的 android sdk,或者 DEFAUL.WORKSPACE 真的是我的 shipshape 文件夹中的空 WORKSPACE,它在 bazel 构建运行时被填充,然后被删除.
但无论哪种情况,我都不知道应该如何将 //external:android/sdk 绑定到任何东西。
gpu - 有没有办法强制 Bazel 连续运行测试
默认情况下,Bazel 以并行方式运行测试以加快速度。但是,由于 GPU 内存限制,我有一个资源 (GPU) 无法处理并行作业。有没有办法强制 Bazel 以串行方式(即非并行方式)运行测试?
谢谢。