Сборка TensorFlow 2 с bazel 0.29.1 в Windows 10 не удалась - PullRequest
0 голосов
/ 07 ноября 2019

Попытка скомпилировать TF 2.0 с помощью Bazel заканчивается неудачей. Я долго боролся с этой проблемой, посмотрел ее в Интернете, но не нашел решения этой проблемы. Несколько запущенных конфигураций (с или без Cuda, с или без создания zip-файла и т. Д.) В конечном итоге приводят к одной и той же ошибке.

Информация о системе:

  • Платформа ОС иДистрибутив (Windows 10)
  • TensorFlow установлен из (источника)
  • Версия TensorFlow: 2.0 (основная ветвь 07 ноября 2019 года, если быть точным)
  • Версия Python: 3.7
  • Установлен с помощью virtualenv? Пип? conda ?: Нет
  • Базельская версия (при компиляции из источника): 0.29.1
  • GCC / Версия компилятора (при компиляции из источника): 8.1.0
  • CUDA /версия cuDNN: 10,0 / 7
  • Модель и память графического процессора: GeForce GTX 1050 15,88 ГБ ОЗУ

Мои действия:

1. git checkout master (in the TF git repo)
2. bazel clean
3. configure (all defaults except for python path and Cuda)
4. bazel build --config=cuda --define=no_tensorflow_py_deps=true tensorflow:tensorflow_cc.dll

Сообщение об ошибке:

ОШИБКА: C: / users / shahar / git / тензор потока / тензор потока / ядро ​​/ BUILD: 2537: 1: не удалось выполнить genrule // tenorflow / core: version_info_gen (выход 5) ОШИБКА ЗАПУСКА: невозможно запустить процесс:"C: / Program Files / WindowsApps / PythonSoftwareFoundation.Python.3.7_3.7.1520.0_x64__qbz5n2kfra8p0 / python.exe" C: \ users \ shahar_bazel_shahar \ duchsbgv \ execroot \ org_tensorflow \ bazel \ opt \ opt \ opt-out-x64_set-out\ git \ gen_git_source.zip - генерировать внешний / local_config_git / gen / spec.json внешний / local_config_git / gen / head external / local_config_git / gen / branch_ref bazel-out / x64_windows-opt / bin / тензор потока / ядро ​​/ util / version_info. cc --git_tag_override = Причина: (ошибка: 5): доступ запрещен.

Что я делаю не так?

Редактировать: добавили переход с @ László advice:

mklink /j c:\python "C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.7_3.7.1520.0_x64__qbz5n2kfra8p0"

и использовали его, когда "configure" попросил меня, как для python.exe, так и для libs, но ошибка остается. подробности:

ОШИБКА: C: / users / shahar / git / tenorflow / tenorflow / core / BUILD: 2537: 1: Не удалось выполнить genrule // tenorflow / core: version_info_gen (Выход 5) ОШИБКА ЗАПУСКА: Невозможно запустить процесс: "C: /python/python.exe" C: \ users \ shahar_bazel_shahar \ duchsbgv \ execroot \ org_tensorflow \ bazel-out \ x64_windows-opt \ bin \ensorflow \ tools \ git \ gen_git_source.zip --generateexternal / local_config_git / gen / spec.json external / local_config_git / gen / head external / local_config_git / gen / branch_ref bazel-out / x64_windows-opt / bin / тензор потока / ядро ​​/ util / version_info.cc --git_tag_override = причина: ошибка: 5): Доступ запрещен.

Edit_2: Снова с помощью @ László help: Я запустил:

bazel info execution_root

получил путь, перейдите в него. Оттуда я запустил:

c:\python\python.exe c:\users\shahar\_bazel_shahar\duchsbgv\execroot\org_tensorflow\bazel-out\x64_windows-opt\bin\tensorflow\tools\git\gen_git_source.zip --generate external/local_config_git/gen/spec.json external/local_config_git/gen/head external/local_config_git/gen/branch_ref c:\tmp\foo.cc --git_tag_override=

и получил следующее сообщение об ошибке:

Traceback (последний вызов был последним): файл "\? \ C: \ Users \ Shahar \AppData \ Local \ Temp \ Bazel.runfiles_ltu2ig_a \ runfiles \ org_tensorflow \ tenorflow \ tools \ git \ gen_git_source.py ", строка 340, в генерируемом (args.generate, args.git_tag_override) файле" \? \ C: \ Users \ Shahar "\ AppData \ Local \ Temp \ Bazel.runfiles_ltu2ig_a \ runfiles \ org_tensorflow \ tenorflow \ tools \ git \ gen_git_source.py ", строка 273, в файле write_version_info (dest_file, git_version) сгенерировать write" \? \ C: \ Users \ Shahar \ App "\ Local \ Temp \ Bazel.runfiles_ltu2ig_a \ runfiles \ org_tensorflow \ensorflow \ tools \ git \ gen_git_source.py ", строка 228, в write_version_info open (имя файла," w "). Write (содержимое) FileNotFoundError: [Errno 2] Нет такогофайл или каталог: 'c: \ tmp \ foo.cc'

1 Ответ

0 голосов
/ 07 ноября 2019

Я подозреваю, что пробел в пути Python.

Попробуйте:

  1. open cmd.exe

  2. createсоединение c:\python, указывающее на настоящий каталог Python:

    mklink /j c:\python "C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.7_3.7.1520.0_x64__qbz5n2kfra8p0"
    

    Вы можете использовать любой другой путь, кроме c:\python, просто убедитесь, что в нем нет пробелов или специальных символов.

  3. снова запустить ./configure.py, использовать c:\python

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...