Строительство TensorFlow с bazel-buildfarm - PullRequest
0 голосов
/ 26 февраля 2020

Я пытаюсь собрать TensorFlow из исходного кода, используя удаленное выполнение + кэширование с помощью bazel-buildfarm. Я настроил сервер и работника bazel-buildfarm, используя примеры файлов конфигурации @ https://github.com/bazelbuild/bazel-buildfarm (см. Каталог examples/).

Я добавил следующие правила в .bazelr c внутри исходный репозиторий для TensorFlow (руководитель мастер):

build --spawn_strategy=remote
build --genrule_strategy=remote
build --strategy=Javac=remote 
build --strategy=Closure=remote
build --remote_executor=grpc://<bazel-buildfarm-server>:8980

Затем я запустил ./configure, используя известные мне опции, удачные для локальной, не удаленной сборки.

Я запустил TensorFlow build:

bazel build —config=opt —config=cuda --config=v2 //tensorflow/tools/pip_package:build_pip_package

Вскоре после этого я получаю это сообщение об ошибке:

...
ERROR: /tensorflow/tensorflow/core/util/BUILD:345:1: Executing genrule //tensorflow/core/util:version_info_gen failed: No usable spawn strategy found for spawn with mnemonic Genrule.  Your --spawn_strategy, --genrule_strategy or --strategy flags are probably too strict. Visit https://github.com/bazelbuild/bazel/issues/7480 for migration advice
Target //tensorflow/tools/pip_package:build_pip_package failed to build

Может кто-нибудь помочь мне интерпретировать это сообщение? Я хотел бы выяснить, что происходит и как я могу заставить TensorFlow строить с использованием bazel-buildfarm.

1 Ответ

0 голосов
/ 26 февраля 2020

Снимите флажки --spawn_strategy и --genrule_strategy. Действия будут использовать удаленное выполнение, когда это возможно, и в противном случае использовать откат к локальным или изолированным параметрам. Похоже, что genrule должен работать локально, но ваши флаги не позволяют этого сделать.

...