Tensorflow: Совместимость с Python 3.7

Созданный на 3 июл. 2018  ·  80Комментарии  ·  Источник: tensorflow/tensorflow

Я уверен, что разработчики прилагают все усилия, чтобы догнать Python 3.7.
Есть ли какая-то временная шкала?

pip3 install tensorflow - видимо не работает, сборка из исходников:

Платформа ОС и дистрибутив: Mac OS X 10.13.5
Python: Python 3.7.0 (доморощенный)
TensorFlow установлен из: источника (https://github.com/tensorflow/tensorflow.git)
Версия TensorFlow: TensorFlow 1.9.0-rc2
Базельская версия:

Build label: 0.15.0-homebrew
Build target: bazel-out/darwin-opt/bin/src/main/java/com/google/devtools/build/lib/bazel/BazelServer_deploy.jar
Build time: Tue Jun 26 12:42:27 2018 (1530016947)
Build timestamp: 1530016947
Build timestamp as int: 1530016947

Версия CUDA/cuDNN: нет
Модель графического процессора и память: Нет
Точная команда для воспроизведения:
bazel build --config=opt //tensorflow/tools/pip_package:build_pip_package

Starting local Bazel server and connecting to it...
...........................
WARNING: /private/var/tmp/_bazel_zardoz/5e080a8a46c0e2b2146c013eb1079337/external/grpc/BUILD:1992:1: in srcs attribute of cc_library rule @grpc//:grpc_nanopb: please do not import '@grpc//third_party/nanopb:pb_common.c' directly. You should either move the file to this package or depend on an appropriate rule there. Since this rule was created by the macro 'grpc_generate_one_off_targets', the error might have been caused by the macro implementation in /private/var/tmp/_bazel_zardoz/5e080a8a46c0e2b2146c013eb1079337/external/grpc/bazel/grpc_build_system.bzl:172:12
WARNING: /private/var/tmp/_bazel_zardoz/5e080a8a46c0e2b2146c013eb1079337/external/grpc/BUILD:1992:1: in srcs attribute of cc_library rule @grpc//:grpc_nanopb: please do not import '@grpc//third_party/nanopb:pb_decode.c' directly. You should either move the file to this package or depend on an appropriate rule there. Since this rule was created by the macro 'grpc_generate_one_off_targets', the error might have been caused by the macro implementation in /private/var/tmp/_bazel_zardoz/5e080a8a46c0e2b2146c013eb1079337/external/grpc/bazel/grpc_build_system.bzl:172:12
WARNING: /private/var/tmp/_bazel_zardoz/5e080a8a46c0e2b2146c013eb1079337/external/grpc/BUILD:1992:1: in srcs attribute of cc_library rule @grpc//:grpc_nanopb: please do not import '@grpc//third_party/nanopb:pb_encode.c' directly. You should either move the file to this package or depend on an appropriate rule there. Since this rule was created by the macro 'grpc_generate_one_off_targets', the error might have been caused by the macro implementation in /private/var/tmp/_bazel_zardoz/5e080a8a46c0e2b2146c013eb1079337/external/grpc/bazel/grpc_build_system.bzl:172:12
WARNING: /Users/zardoz/Projects/tensorflow/tensorflow/contrib/learn/BUILD:17:1: in py_library rule //tensorflow/contrib/learn:learn: target '//tensorflow/contrib/learn:learn' depends on deprecated target '//tensorflow/contrib/session_bundle:exporter': No longer supported. Switch to SavedModel immediately.
WARNING: /Users/zardoz/Projects/tensorflow/tensorflow/contrib/learn/BUILD:17:1: in py_library rule //tensorflow/contrib/learn:learn: target '//tensorflow/contrib/learn:learn' depends on deprecated target '//tensorflow/contrib/session_bundle:gc': No longer supported. Switch to SavedModel immediately.
WARNING: /Users/zardoz/Projects/tensorflow/tensorflow/contrib/timeseries/python/timeseries/BUILD:356:1: in py_library rule //tensorflow/contrib/timeseries/python/timeseries:ar_model: target '//tensorflow/contrib/timeseries/python/timeseries:ar_model' depends on deprecated target '//tensorflow/contrib/distributions:distributions_py': TensorFlow Distributions has migrated to TensorFlow Probability (https://github.com/tensorflow/probability). Deprecated copies remaining in tf.contrib.distributions are unmaintained, unsupported, and will be removed by late 2018. You should update all usage of `tf.contrib.distributions` to `tfp.distributions`.
WARNING: /Users/zardoz/Projects/tensorflow/tensorflow/contrib/timeseries/python/timeseries/state_space_models/BUILD:73:1: in py_library rule //tensorflow/contrib/timeseries/python/timeseries/state_space_models:kalman_filter: target '//tensorflow/contrib/timeseries/python/timeseries/state_space_models:kalman_filter' depends on deprecated target '//tensorflow/contrib/distributions:distributions_py': TensorFlow Distributions has migrated to TensorFlow Probability (https://github.com/tensorflow/probability). Deprecated copies remaining in tf.contrib.distributions are unmaintained, unsupported, and will be removed by late 2018. You should update all usage of `tf.contrib.distributions` to `tfp.distributions`.
WARNING: /Users/zardoz/Projects/tensorflow/tensorflow/contrib/timeseries/python/timeseries/state_space_models/BUILD:230:1: in py_library rule //tensorflow/contrib/timeseries/python/timeseries/state_space_models:filtering_postprocessor: target '//tensorflow/contrib/timeseries/python/timeseries/state_space_models:filtering_postprocessor' depends on deprecated target '//tensorflow/contrib/distributions:distributions_py': TensorFlow Distributions has migrated to TensorFlow Probability (https://github.com/tensorflow/probability). Deprecated copies remaining in tf.contrib.distributions are unmaintained, unsupported, and will be removed by late 2018. You should update all usage of `tf.contrib.distributions` to `tfp.distributions`.
WARNING: /Users/zardoz/Projects/tensorflow/tensorflow/contrib/bayesflow/BUILD:17:1: in py_library rule //tensorflow/contrib/bayesflow:bayesflow_py: target '//tensorflow/contrib/bayesflow:bayesflow_py' depends on deprecated target '//tensorflow/contrib/distributions:distributions_py': TensorFlow Distributions has migrated to TensorFlow Probability (https://github.com/tensorflow/probability). Deprecated copies remaining in tf.contrib.distributions are unmaintained, unsupported, and will be removed by late 2018. You should update all usage of `tf.contrib.distributions` to `tfp.distributions`.
WARNING: /Users/zardoz/Projects/tensorflow/tensorflow/contrib/seq2seq/BUILD:23:1: in py_library rule //tensorflow/contrib/seq2seq:seq2seq_py: target '//tensorflow/contrib/seq2seq:seq2seq_py' depends on deprecated target '//tensorflow/contrib/distributions:distributions_py': TensorFlow Distributions has migrated to TensorFlow Probability (https://github.com/tensorflow/probability). Deprecated copies remaining in tf.contrib.distributions are unmaintained, unsupported, and will be removed by late 2018. You should update all usage of `tf.contrib.distributions` to `tfp.distributions`.
WARNING: /Users/zardoz/Projects/tensorflow/tensorflow/contrib/kfac/python/ops/BUILD:80:1: in py_library rule //tensorflow/contrib/kfac/python/ops:loss_functions: target '//tensorflow/contrib/kfac/python/ops:loss_functions' depends on deprecated target '//tensorflow/contrib/distributions:distributions_py': TensorFlow Distributions has migrated to TensorFlow Probability (https://github.com/tensorflow/probability). Deprecated copies remaining in tf.contrib.distributions are unmaintained, unsupported, and will be removed by late 2018. You should update all usage of `tf.contrib.distributions` to `tfp.distributions`.
WARNING: /Users/zardoz/Projects/tensorflow/tensorflow/contrib/BUILD:14:1: in py_library rule //tensorflow/contrib:contrib_py: target '//tensorflow/contrib:contrib_py' depends on deprecated target '//tensorflow/contrib/distributions:distributions_py': TensorFlow Distributions has migrated to TensorFlow Probability (https://github.com/tensorflow/probability). Deprecated copies remaining in tf.contrib.distributions are unmaintained, unsupported, and will be removed by late 2018. You should update all usage of `tf.contrib.distributions` to `tfp.distributions`.
INFO: Analysed target //tensorflow/tools/pip_package:build_pip_package (303 packages loaded).
INFO: Found 1 target...
INFO: From Linking external/grpc/libgrpc_base_c.a [for host]:
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: bazel-out/host/bin/external/grpc/libgrpc_base_c.a(endpoint_pair_uv.o) has no symbols
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: bazel-out/host/bin/external/grpc/libgrpc_base_c.a(endpoint_pair_windows.o) has no symbols
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: bazel-out/host/bin/external/grpc/libgrpc_base_c.a(ev_windows.o) has no symbols
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: bazel-out/host/bin/external/grpc/libgrpc_base_c.a(fork_windows.o) has no symbols
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: bazel-out/host/bin/external/grpc/libgrpc_base_c.a(gethostname_fallback.o) has no symbols
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: bazel-out/host/bin/external/grpc/libgrpc_base_c.a(gethostname_host_name_max.o) has no symbols
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: bazel-out/host/bin/external/grpc/libgrpc_base_c.a(iocp_windows.o) has no symbols
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: bazel-out/host/bin/external/grpc/libgrpc_base_c.a(iomgr_windows.o) has no symbols
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: bazel-out/host/bin/external/grpc/libgrpc_base_c.a(pollset_set_windows.o) has no symbols
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: bazel-out/host/bin/external/grpc/libgrpc_base_c.a(pollset_uv.o) has no symbols
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: bazel-out/host/bin/external/grpc/libgrpc_base_c.a(pollset_windows.o) has no symbols
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: bazel-out/host/bin/external/grpc/libgrpc_base_c.a(resolve_address_windows.o) has no symbols
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: bazel-out/host/bin/external/grpc/libgrpc_base_c.a(socket_utils_linux.o) has no symbols
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: bazel-out/host/bin/external/grpc/libgrpc_base_c.a(socket_utils_windows.o) has no symbols
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: bazel-out/host/bin/external/grpc/libgrpc_base_c.a(socket_windows.o) has no symbols
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: bazel-out/host/bin/external/grpc/libgrpc_base_c.a(tcp_client_windows.o) has no symbols
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: bazel-out/host/bin/external/grpc/libgrpc_base_c.a(tcp_server_utils_posix_noifaddrs.o) has no symbols
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: bazel-out/host/bin/external/grpc/libgrpc_base_c.a(tcp_server_windows.o) has no symbols
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: bazel-out/host/bin/external/grpc/libgrpc_base_c.a(tcp_uv.o) has no symbols
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: bazel-out/host/bin/external/grpc/libgrpc_base_c.a(tcp_windows.o) has no symbols
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: bazel-out/host/bin/external/grpc/libgrpc_base_c.a(timer_uv.o) has no symbols
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: bazel-out/host/bin/external/grpc/libgrpc_base_c.a(unix_sockets_posix_noop.o) has no symbols
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: bazel-out/host/bin/external/grpc/libgrpc_base_c.a(wakeup_fd_eventfd.o) has no symbols
INFO: From Linking external/grpc/libalts_util.a [for host]:
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: bazel-out/host/bin/external/grpc/libalts_util.a(check_gcp_environment_linux.o) has no symbols
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: bazel-out/host/bin/external/grpc/libalts_util.a(check_gcp_environment_windows.o) has no symbols
INFO: From Linking external/grpc/libtsi.a [for host]:
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: bazel-out/host/bin/external/grpc/libtsi.a(ssl_session_openssl.o) has no symbols
INFO: From Linking external/grpc/libgrpc++_base.a [for host]:
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: bazel-out/host/bin/external/grpc/libgrpc++_base.a(rpc_method.o) has no symbols
INFO: From Linking external/grpc/libgpr_base.a [for host]:
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: bazel-out/host/bin/external/grpc/libgpr_base.a(cpu_iphone.o) has no symbols
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: bazel-out/host/bin/external/grpc/libgpr_base.a(cpu_linux.o) has no symbols
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: bazel-out/host/bin/external/grpc/libgpr_base.a(cpu_windows.o) has no symbols
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: bazel-out/host/bin/external/grpc/libgpr_base.a(env_linux.o) has no symbols
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: bazel-out/host/bin/external/grpc/libgpr_base.a(env_windows.o) has no symbols
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: bazel-out/host/bin/external/grpc/libgpr_base.a(log_android.o) has no symbols
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: bazel-out/host/bin/external/grpc/libgpr_base.a(log_linux.o) has no symbols
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: bazel-out/host/bin/external/grpc/libgpr_base.a(log_windows.o) has no symbols
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: bazel-out/host/bin/external/grpc/libgpr_base.a(string_util_windows.o) has no symbols
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: bazel-out/host/bin/external/grpc/libgpr_base.a(string_windows.o) has no symbols
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: bazel-out/host/bin/external/grpc/libgpr_base.a(sync_windows.o) has no symbols
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: bazel-out/host/bin/external/grpc/libgpr_base.a(time_windows.o) has no symbols
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: bazel-out/host/bin/external/grpc/libgpr_base.a(tls_pthread.o) has no symbols
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: bazel-out/host/bin/external/grpc/libgpr_base.a(tmpfile_msys.o) has no symbols
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: bazel-out/host/bin/external/grpc/libgpr_base.a(tmpfile_windows.o) has no symbols
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: bazel-out/host/bin/external/grpc/libgpr_base.a(wrap_memcpy.o) has no symbols
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: bazel-out/host/bin/external/grpc/libgpr_base.a(thd_windows.o) has no symbols
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: bazel-out/host/bin/external/grpc/libgpr_base.a(stap_timers.o) has no symbols
INFO: From Linking external/grpc/third_party/address_sorting/libaddress_sorting.a [for host]:
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: bazel-out/host/bin/external/grpc/third_party/address_sorting/libaddress_sorting.a(address_sorting_windows.o) has no symbols
ERROR: /Users/zardoz/Projects/tensorflow/tensorflow/python/BUILD:5315:1: Executing genrule //tensorflow/python:framework/fast_tensor_util.pyx_cython_translation failed (Exit 1)
Traceback (most recent call last):
  File "/private/var/tmp/_bazel_zardoz/5e080a8a46c0e2b2146c013eb1079337/execroot/org_tensorflow/bazel-out/host/bin/external/cython/cython_binary.runfiles/cython/cython.py", line 17, in <module>
    main(command_line = 1)
  File "/private/var/tmp/_bazel_zardoz/5e080a8a46c0e2b2146c013eb1079337/external/cython/Cython/Compiler/Main.py", line 720, in main
    result = compile(sources, options)
  File "/private/var/tmp/_bazel_zardoz/5e080a8a46c0e2b2146c013eb1079337/external/cython/Cython/Compiler/Main.py", line 695, in compile
    return compile_multiple(source, options)
  File "/private/var/tmp/_bazel_zardoz/5e080a8a46c0e2b2146c013eb1079337/external/cython/Cython/Compiler/Main.py", line 666, in compile_multiple
    context = options.create_context()
  File "/private/var/tmp/_bazel_zardoz/5e080a8a46c0e2b2146c013eb1079337/external/cython/Cython/Compiler/Main.py", line 590, in create_context
    self.cplus, self.language_level, options=self)
  File "/private/var/tmp/_bazel_zardoz/5e080a8a46c0e2b2146c013eb1079337/external/cython/Cython/Compiler/Main.py", line 75, in __init__
    from . import Builtin, CythonScope
  File "/private/var/tmp/_bazel_zardoz/5e080a8a46c0e2b2146c013eb1079337/external/cython/Cython/Compiler/CythonScope.py", line 5, in <module>
    from .UtilityCode import CythonUtilityCode
  File "/private/var/tmp/_bazel_zardoz/5e080a8a46c0e2b2146c013eb1079337/external/cython/Cython/Compiler/UtilityCode.py", line 3, in <module>
    from .TreeFragment import parse_from_strings, StringParseContext
  File "/private/var/tmp/_bazel_zardoz/5e080a8a46c0e2b2146c013eb1079337/external/cython/Cython/Compiler/TreeFragment.py", line 17, in <module>
    from .Visitor import VisitorTransform
  File "/private/var/tmp/_bazel_zardoz/5e080a8a46c0e2b2146c013eb1079337/external/cython/Cython/Compiler/Visitor.py", line 15, in <module>
    from . import ExprNodes
  File "/private/var/tmp/_bazel_zardoz/5e080a8a46c0e2b2146c013eb1079337/external/cython/Cython/Compiler/ExprNodes.py", line 2875
    await = None
          ^
SyntaxError: invalid syntax
Target //tensorflow/tools/pip_package:build_pip_package failed to build
Use --verbose_failures to see the command lines of failed build steps.
INFO: Elapsed time: 179.318s, Critical Path: 6.38s
INFO: 413 processes: 413 local.
FAILED: Build did NOT complete successfully

Самый полезный комментарий

@activatedgeek Извините, но я не понимаю, как понижение версии отвечает на вопрос OP относительно сроков обеспечения совместимости Tensorflow с Python 3.7 (выпущенным почти месяц назад).

Все 80 Комментарий

Спасибо за ваше сообщение. Мы заметили, что вы не заполнили следующее поле в шаблоне задачи. Не могли бы вы обновить их, если они имеют отношение к вашему делу, или оставить их как N/A? Спасибо.
Я написал собственный код
Платформа ОС и дистрибутив
TensorFlow установлен из
Версия TensorFlow
Базельская версия
Версия CUDA/cuDNN
Модель графического процессора и память
Точная команда для воспроизведения

Обновил исходный пост в соответствии с просьбой.

@homofortis Тем временем вы можете использовать это с Homebrew, чтобы понизить версию Python.

brew install https://raw.githubusercontent.com/Homebrew/homebrew-core/f2a764ef944b1080be64bd88dca9a1d80130c558/Formula/python.rb

async и await теперь являются ключевыми словами и должны быть заменены в кодовой базе TF. См. https://docs.python.org/3/whatsnew/3.7.html#summary-release-highlights .

17022

@activatedgeek Извините, но я не понимаю, как понижение версии отвечает на вопрос OP относительно сроков обеспечения совместимости Tensorflow с Python 3.7 (выпущенным почти месяц назад).

@homofortis Извинения. Я, вероятно, пропустил несколько слов и подумал, что ваша основная цель — скомпилировать из исходного кода. Многие поиски привели к этой проблеме, я подумал, что это будет хорошо для всех, кто хочет просто запустить Tensorflow.

Как я вижу из описания, диагностика связана не с совместимостью тензорного потока с Python-3.7, а с использованием слишком старого Cython, и в настоящее время именно эта проблема не воспроизводится, потому что Cython, упомянутый в рабочей области Bazel, достаточно новый. С другой стороны, есть как минимум две проблемы совместимости с Python-3.7:

  • использование ключевого слова async в качестве имени переменной в pywrap_tensorflow_internal.py , сгенерированном из tensorflow/c/eager/c_api.{h,cc} - #20690
  • и поломка, вызванная изменением типа возврата PyUnicode_AsUTF8AndSize() с char * на const char *
    Может быть, было бы лучше вынести последнее в отдельную тему.

FWIW, я только что собрал (еще не тестировал) tensorflow 1.9 с MKL в Windows для Python 3.7, используя VS2017 и следующий патч:

diff --git a/tensorflow/c/eager/c_api.h b/tensorflow/c/eager/c_api.h
index 1862af3ce2..093b97110f 100644
--- a/tensorflow/c/eager/c_api.h
+++ b/tensorflow/c/eager/c_api.h
@@ -76,7 +76,7 @@ typedef enum TFE_ContextDevicePlacementPolicy {
 // Sets the default execution mode (sync/async). Note that this can be
 // overridden per thread using TFE_ContextSetAsyncForThread.
 TF_CAPI_EXPORT extern void TFE_ContextOptionsSetAsync(TFE_ContextOptions*,
-                                                      unsigned char async);
+                                                      unsigned char is_async);

 TF_CAPI_EXPORT extern void TFE_ContextOptionsSetDevicePlacementPolicy(
     TFE_ContextOptions*, TFE_ContextDevicePlacementPolicy);
@@ -125,7 +125,7 @@ TFE_ContextGetDevicePlacementPolicy(TFE_Context*);

 // Overrides the execution mode (sync/async) for the current thread.
 TF_CAPI_EXPORT extern void TFE_ContextSetAsyncForThread(TFE_Context*,
-                                                        unsigned char async,
+                                                        unsigned char is_async,
                                                         TF_Status* status);

 // Causes the calling thread to block till all ops dispatched in async mode
diff --git a/tensorflow/core/platform/windows/port.cc b/tensorflow/core/platform/windows/port.cc
index 174f41a993..b06434620e 100644
--- a/tensorflow/core/platform/windows/port.cc
+++ b/tensorflow/core/platform/windows/port.cc
@@ -57,6 +57,11 @@ int NumSchedulableCPUs() {
   return system_info.dwNumberOfProcessors;
 }

+int NumHyperthreadsPerCore() {
+  static const int ht_per_core = tensorflow::port::CPUIDNumSMT();
+  return (ht_per_core > 0) ? ht_per_core : 1;
+}
+
 void* AlignedMalloc(size_t size, int minimum_alignment) {
 #ifdef TENSORFLOW_USE_JEMALLOC
   void* ptr = NULL;
diff --git a/tensorflow/python/eager/pywrap_tfe_src.cc b/tensorflow/python/eager/pywrap_tfe_src.cc
index 6c9481c3af..13edbb07db 100644
--- a/tensorflow/python/eager/pywrap_tfe_src.cc
+++ b/tensorflow/python/eager/pywrap_tfe_src.cc
@@ -813,7 +813,7 @@ char* TFE_GetPythonString(PyObject* o) {
   }
 #if PY_MAJOR_VERSION >= 3
   if (PyUnicode_Check(o)) {
-    return PyUnicode_AsUTF8(o);
+    return (char *)PyUnicode_AsUTF8(o);
   }
 #endif
   return nullptr;
diff --git a/tensorflow/python/lib/core/ndarray_tensor.cc b/tensorflow/python/lib/core/ndarray_tensor.cc
index 9df38d464c..4150fbfdd4 100644
--- a/tensorflow/python/lib/core/ndarray_tensor.cc
+++ b/tensorflow/python/lib/core/ndarray_tensor.cc
@@ -154,7 +154,7 @@ Status PyBytesArrayMap(PyArrayObject* array, F f) {
     if (PyUnicode_Check(item.get())) {
 #if PY_VERSION_HEX >= 0x03030000
       // Accept unicode by converting to UTF-8 bytes.
-      ptr = PyUnicode_AsUTF8AndSize(item.get(), &len);
+      ptr = (char *)PyUnicode_AsUTF8AndSize(item.get(), &len);
       if (!ptr) {
         return errors::Internal("Unable to get element as UTF-8.");
       }
diff --git a/tensorflow/python/lib/core/py_func.cc b/tensorflow/python/lib/core/py_func.cc
index 30c1a9c759..231a66de59 100644
--- a/tensorflow/python/lib/core/py_func.cc
+++ b/tensorflow/python/lib/core/py_func.cc
@@ -322,7 +322,7 @@ Status ConvertNdarrayToTensor(PyObject* obj, Tensor* ret) {
         Py_ssize_t el_size;
         if (PyBytes_AsStringAndSize(input_data[i], &el, &el_size) == -1) {
 #if PY_MAJOR_VERSION >= 3
-          el = PyUnicode_AsUTF8AndSize(input_data[i], &el_size);
+          el = (char *)PyUnicode_AsUTF8AndSize(input_data[i], &el_size);
 #else
           el = nullptr;
           if (PyUnicode_Check(input_data[i])) {

Я предпочитаю добавлять классификатор const к цели, а не удалять его из результата PyUnicode_AsUTF8AndSize() . Это постоянная строка, и ее нельзя изменять.

@asimshankar говорит, что просматривал и отправлял PR на эту тему. Я назначу его.

Я сталкиваюсь с аналогичными проблемами и при сборке из исходного кода, используя python 3.7 в Arch Linux.

ERROR: /home/rharish/.cache/bazel/_bazel_rharish/5d4d7b1255c710f6c814ab2f3f084405/external/protobuf_archive/BUILD:659:1: C++ compilation of rule '@protobuf_archive//:python/google/protobuf/pyext/_message.so' failed (Exit 1): crosstool_wrapper_driver_is_not_gcc failed: error executing command 
  (cd /home/rharish/.cache/bazel/_bazel_rharish/5d4d7b1255c710f6c814ab2f3f084405/execroot/org_tensorflow && \
  exec env - \
    LD_LIBRARY_PATH=:/usr/local/lib:/opt/cuda/lib64 \
    PATH=/home/rharish/bin:/usr/local/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/opt/cuda/bin:/usr/lib/jvm/default/bin:/usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_perl \
    PWD=/proc/self/cwd \
  external/local_config_cuda/crosstool/clang/bin/crosstool_wrapper_driver_is_not_gcc -MD -MF bazel-out/host/bin/external/protobuf_archive/_objs/python/google/protobuf/pyext/_message.so/descriptor_containers.pic.d '-frandom-seed=bazel-out/host/bin/external/protobuf_archive/_objs/python/google/protobuf/pyext/_message.so/descriptor_containers.pic.o' -iquote external/protobuf_archive -iquote bazel-out/host/genfiles/external/protobuf_archive -iquote bazel-out/host/bin/external/protobuf_archive -iquote external/bazel_tools -iquote bazel-out/host/genfiles/external/bazel_tools -iquote bazel-out/host/bin/external/bazel_tools -iquote external/local_config_python -iquote bazel-out/host/genfiles/external/local_config_python -iquote bazel-out/host/bin/external/local_config_python -isystem external/protobuf_archive/python -isystem bazel-out/host/genfiles/external/protobuf_archive/python -isystem bazel-out/host/bin/external/protobuf_archive/python -isystem external/protobuf_archive/src -isystem bazel-out/host/genfiles/external/protobuf_archive/src -isystem bazel-out/host/bin/external/protobuf_archive/src -isystem external/local_config_python/python_include -isystem bazel-out/host/genfiles/external/local_config_python/python_include -isystem bazel-out/host/bin/external/local_config_python/python_include '-std=c++11' -Wno-builtin-macro-redefined '-D__DATE__="redacted"' '-D__TIMESTAMP__="redacted"' '-D__TIME__="redacted"' -fPIC -U_FORTIFY_SOURCE '-D_FORTIFY_SOURCE=1' -fstack-protector -Wall -fno-omit-frame-pointer -no-canonical-prefixes -DNDEBUG -g0 -O2 -ffunction-sections -fdata-sections -g0 '-march=native' -g0 -DHAVE_PTHREAD -Wall -Wwrite-strings -Woverloaded-virtual -Wno-sign-compare -Wno-unused-function -Wno-writable-strings '-DGOOGLE_PROTOBUF_HAS_ONEOF=1' '-DPROTOBUF_PYTHON_ALLOW_OVERSIZE_PROTOS=1' -c external/protobuf_archive/python/google/protobuf/pyext/descriptor_containers.cc -o bazel-out/host/bin/external/protobuf_archive/_objs/python/google/protobuf/pyext/_message.so/descriptor_containers.pic.o)
external/protobuf_archive/python/google/protobuf/pyext/descriptor_containers.cc: In function 'bool google::protobuf::python::descriptor::_GetItemByKey(google::protobuf::python::PyContainer*, PyObject*, const void**)':
external/protobuf_archive/python/google/protobuf/pyext/descriptor_containers.cc:69:45: error: invalid conversion from 'const char*' to 'char*' [-fpermissive]
        ((*(charpp) = PyUnicode_AsUTF8AndSize(ob, (sizep))) == NULL? -1: 0): \
                      ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
external/protobuf_archive/python/google/protobuf/pyext/descriptor_containers.cc:172:13: note: in expansion of macro 'PyString_AsStringAndSize'
         if (PyString_AsStringAndSize(key, &name, &name_size) < 0) {
             ^~~~~~~~~~~~~~~~~~~~~~~~
external/protobuf_archive/python/google/protobuf/pyext/descriptor_containers.cc:69:45: error: invalid conversion from 'const char*' to 'char*' [-fpermissive]
        ((*(charpp) = PyUnicode_AsUTF8AndSize(ob, (sizep))) == NULL? -1: 0): \
                      ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
external/protobuf_archive/python/google/protobuf/pyext/descriptor_containers.cc:189:13: note: in expansion of macro 'PyString_AsStringAndSize'
         if (PyString_AsStringAndSize(key, &camelcase_name, &name_size) < 0) {
             ^~~~~~~~~~~~~~~~~~~~~~~~
At global scope:
cc1plus: warning: unrecognized command line option '-Wno-writable-strings'
Target //tensorflow/tools/pip_package:build_pip_package failed to build
INFO: Elapsed time: 63.634s, Critical Path: 9.08s
INFO: 464 processes: 464 local.
FAILED: Build did NOT complete successfully

Моя конфигурация системы:
Платформа ОС и дистрибутив: Arch Linux
Питон: Питон 3.7.0
TensorFlow установлен из: источника (https://github.com/tensorflow/tensorflow.git), основной ветки
Версия TensorFlow: TensorFlow 1.9.0
Базель версия: 0.16.0
Версия CUDA/cuDNN: CUDA 9.2
Модель графического процессора и память: NVIDIA GeForce GTX 960M, 4 ГБ

@bstriner вызвался обновить #21202, что продвинет нас на один шаг вперед. Но похоже, что нам нужно дождаться выпуска protobuf с поддержкой Python 3.7, а затем обновить зависимости TensorFlow, чтобы использовать эту новую версию protobuf.

@rharish101
Если вы используете Arch Linux, вы можете установить Tensorflow с pacman-S python-tensorflow .

@rharish101
Если вам нужна поддержка CUDA, вы можете установить pacman-S python-tensorflow-cuda

@hzxie Да, теперь все работает хорошо! Как ребята из Арча заставили это работать?

Ни один выпуск protobuf еще не поддерживает 3.7, но если вы хотите использовать моментальный снимок из мастера, вы можете собрать TF для 3.7.

@bstriner
Я все еще не могу скомпилировать последний мастер. Сборка завершается с ошибками.

Платформа ОС и дистрибутив: Mac OS X 10.13.5
Питон: Питон 3.7.0
TensorFlow установлен из: источника (https://github.com/tensorflow/tensorflow.git)
Версия TensorFlow: TensorFlow 1.10
Версия Bazel: 0.15.2-доморощенный
Версия CUDA/cuDNN: нет
Модель графического процессора и память: Нет
Точная команда для воспроизведения:
bazel build --config=opt//tensorflow/tools/pip_package :build_pip_package

ERROR: /Users/zardoz/Projects/tensorflow/tensorflow/python/eager/BUILD:10:1: C++ compilation of rule '//tensorflow/python/eager:pywrap_tfe_lib' failed (Exit 1)
tensorflow/python/eager/pywrap_tfe_src.cc:219:11: error: cannot initialize a variable of type 'char *' with an rvalue of type 'const char *'
    char* buf = PyUnicode_AsUTF8AndSize(py_value, &size);
          ^     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
tensorflow/python/eager/pywrap_tfe_src.cc:834:12: error: cannot initialize return object of type 'char *' with an rvalue of type 'const char *'
    return PyUnicode_AsUTF8(o);
           ^~~~~~~~~~~~~~~~~~~
2 errors generated.
Target //tensorflow/tools/pip_package:build_pip_package failed to build
Use --verbose_failures to see the command lines of failed build steps.
INFO: Elapsed time: 5896.213s, Critical Path: 267.71s
INFO: 2883 processes: 2883 local.
FAILED: Build did NOT complete successfully

@cgohlke Как собрать tensorflow-gpu для python 3.7?

@homofortis это потому, что этот pr еще не объединен. Вам нужно втянуть его в себя. https://github.com/tensorflow/tensorflow/pull/21202

Чтобы добавить исправления py37 в текущий репозиторий, выполните следующие действия:

git remote add bstriner https://github.com/bstriner/tensorflow.git
git fetch bstriner
git merge bstriner/py37

По сути, если вы видите проблемы с преобразованием const char * в char * или что-то подобное, это изменения в py37. Фикс и обсуждение в связанном PR.

@bstriner Мне нужен файл колеса tensorflow gpu для python 3.7. Я не могу построить его сам

Когда эта проблема будет исправлена??

Благодаря вкладу @bstriner (PR #21202) мы теперь можем собирать для Python 3.7. Однако, как он упоминал в PR, библиотеки eigen и protobuf все еще нуждаются в исправлении для компиляции в Windows.

@gunan @angersson будет знать, будет ли официальный выпуск TensorFlow 1.11 поддерживать Python 3.7 или вам придется компилировать из исходного кода.

У нас все еще есть проблема на стороне инфраструктуры, которую мы должны выяснить.
Вся наша инфраструктура сборки использует Ubuntu 14 из-за запросов сообщества (для совместимости с Ubuntu 14).
Тем не менее, Python 3.7 не так просто построить на Ubuntu 14, поскольку ему нужны обновленные версии нескольких библиотек, которые поставляются с Ubuntu.

Пока мы ждем исправлений eigen и protobuf для Windows, мы решим их.
Но это означает, что в версии 1.11 не будет готового пакета для Python 3.7.

@SukeshP1995 Вы можете попробовать этот URL https://www.lfd.uci.edu/~gohlke/pythonlibs/#tensorflow

Доступны ли графические диски Ubuntu 16.04 TensorFlow для Python 3.7? Или, если нет, могу ли я получить краткое руководство по его созданию самостоятельно? У меня нет опыта, чтобы просто выйти и сделать это так, чтобы никто не держал меня за руку :)

@morenoh149 , это только для Python 3.6. У меня 3.7, потому что я только что сделал новую установку.

https://github.com/tensorflow/tensorflow/issues/20517#issuecomment -418442189 по-прежнему применяется.
Помимо проблем с инфраструктурой (python 3.7 в Ubuntu 14), не все наши зависимости пока поддерживают python 3.7. Так что мы все еще работаем с ними, чтобы перейти на Python 3.7.

ах нет, это фундаментальная проблема @bjtho08 tensorflow должен прекратить использовать новые ключевые слова python в 3.7. Вот о чем эта ветка. А пока вы можете использовать ожидающие вилки или использовать 3.6.

@morenoh149 , так что у меня есть варианты: собрать более старую версию Python или создать тензорный поток из git/master?

на сегодняшний день да. Этот PR https://github.com/tensorflow/tensorflow/pull/21202 находится на мастере, но релиз еще не обрезан. FWIW вы можете использовать pyenv для установки многих версий Python в системе. Профессиональный инженер-программист должен уметь закреплять свои зависимости и инструменты в зависимости от проекта.

@morenoh149 @bjtho08 построения тензорного потока из основной ветки недостаточно. Некоторые зависимости еще не поддерживают 3.7.

@adrianodennanni зависимости поддерживают 3.7, но не в выпущенных версиях. Вам нужно изменить библиотеки в рабочей области на текущие мастера. Невозможно изменить зависимости в тензорном потоке, пока у этих библиотек не будет стабильных выпусков.

Итак, для текущего protobuf используйте это:

    PROTOBUF_URLS = [
        "https://mirror.bazel.build/github.com/google/protobuf/archive/a6e1cc7e328c45a0cb9856c530c8f6cd23314163.tar.gz",
        "https://github.com/google/protobuf/archive/a6e1cc7e328c45a0cb9856c530c8f6cd23314163.tar.gz",
    ]
    PROTOBUF_SHA256 = "f785d2009ea7c8484cb0443d9db8fe55f73cfdb6e112bfa659a8a5cdaf664ccd"
    PROTOBUF_STRIP_PREFIX = "protobuf-a6e1cc7e328c45a0cb9856c530c8f6cd23314163"

Вам также может понадобиться последний eigen.

@rharish101
Если вам нужна поддержка CUDA, вы можете установить pacman-S python-tensorflow-cuda

хорошо сделано спасибо

на сегодняшний день да. Этот PR #21202 находится на мастере, но релиз еще не снят. FWIW вы можете использовать pyenv для установки многих версий Python в системе. Профессиональный инженер-программист должен уметь закреплять свои зависимости и инструменты в зависимости от проекта.

Спасибо за совет, @morenoh149 ! Я заставил это работать, начав с pyenv и CUDA 9.0 :)

@гунан

Тем не менее, Python 3.7 не так просто построить на Ubuntu 14, поскольку ему нужны обновленные версии нескольких библиотек, которые поставляются с Ubuntu.

Я хотел бы поделиться своим опытом сборки Python-3.7 на Ubuntu 12, и я надеюсь, что это поможет, если вы еще не решили эту проблему. Я строю, используя следующие флаги конфигурации:

    --prefix=... \
    --enable-ipv6 \
    --with-dbmliborder=gdbm \
    --with-system-expat \
    --with-computed-gotos \
    --with-system-ffi \
    --with-ensurepip=no

И единственной системной библиотекой, слишком устаревшей для Python, была OpenSSL, поэтому модуль ssl не может быть собран. Чтобы решить эту проблему, я решил собрать OpenSSL из исходного кода и связать его статически, используя рецепт cryptography (https://cryptography.io/en/latest/installation/#static-wheels):

  • собрать правильно настроенный OpenSSL только со статическими библиотеками:
OPENSSL_VERSION=1.0.2p
wget https://www.openssl.org/source/openssl-${OPENSSL_VERSION}.tar.gz
tar xf openssl-${OPENSSL_VERSION}.tar.gz
cd openssl-${OPENSSL_VERSION}
./config no-shared no-ssl2 no-ssl3 -fPIC --prefix=$(pwd)/_openssl
make && make install
  • создайте Python, используя этот OpenSSL, передав флаг скрипту configure : --with-openssl=$(pwd)/openssl-${OPENSSL_VERSION}/_openssl , поэтому вызов configure выглядит так:
./configure
    --prefix=... \
    --enable-ipv6 \
    --with-dbmliborder=gdbm \
    --with-system-expat \
    --with-computed-gotos \
    --with-system-ffi \
    --with-ensurepip=no \
    --with-openssl=$(pwd)/openssl-${OPENSSL_VERSION}/_openssl

Помимо устаревшей проблемы с OpenSSL, я не встречал проблем со сборкой Python-3.7 на старой Ubuntu, я протестировал свою сборку, и, похоже, она работает правильно, тесты из исходного кода Python проходят.

Назойливые правопреемники @gunan , @angersson : Прошло 14 дней без активности, и у этой проблемы есть правопреемник. Пожалуйста, обновите метку и/или статус соответствующим образом.

@bstriner , вы предложили изменить PROTOBUF_URLS, PROTOBUF_SHA256 и PROTOBUF_STRIP_PREFIX. Я предполагаю, что вы делаете это в tensorflow/workspace.bzl? Где-нибудь еще? Спасибо.

На самом деле, попробовав это, сборка bazel для tensorflow 1.11 приводит к:

ОШИБКА: tensorflow/tensorflow/tools/pip_package/ BUILD: 216 : 1: ошибка при загрузке пакета 'tensorflow': файл расширения не найден. Не удалось загрузить пакет для '@bazel_skylib//:lib.bzl': репозиторий не может быть разрешен и на него ссылается '//tensorflow/tools/pip_package :build_pip_package '

@jeffcbecker У меня тоже возникла эта проблема. Похоже, что URL-адрес https://mirror.bazel.build/github.com/google/protobuf/archive/a6e1cc7e328c45a0cb9856c530c8f6cd23314163.tar.gz недоступен. У кого-нибудь есть обходной путь для этого?

Мне удалось обойти это с помощью Python 3.6.
Ваше здоровье
Джефф
Отправлено с моего устройства T-Mobile 4G LTE
-------- Исходное сообщение --------От: Адриано Деннанни[email protected] Дата: 21.10.18 13:40 (GMT-08:00) Кому: tensorflow/tensorflow [email protected] Копия: jeffcbecker [email protected] , Упоминание на @noreply.github.com Тема: Re: [tensorflow/tensorflow] Совместимость с Python 3.7 (#20517)
@jeffcbecker У меня тоже возникла эта проблема. Похоже, что URL-адрес https://mirror.bazel.build/github.com/google/protobuf/archive/a6e1cc7e328c45a0cb9856c530c8f6cd23314163.tar.gz недоступен. У кого-нибудь есть обходной путь для этого?


Вы получаете это, потому что вас упомянули.
Ответьте на это письмо напрямую, просмотрите его на GitHub или отключите ветку.
{"api_version":"1.0","издатель":{"api_key":"05dde50f1d1a384dd78767c55493e4bb","name":"GitHub"},"entity":{"external_key":"github/tensorflow/tensorflow","title ":"tensorflow/tensorflow","subtitle":"Репозиторий GitHub","main_image_url":" https://assets-cdn.github.com/images/email/message_cards/header.png ","avatar_image_url":" https://assets-cdn.github.com/images/email/message_cards/avatar.png ","action":{"name":"Открыть в GitHub","url":" https://github.com /tensorflow/tensorflow "}},"updates":{"snippets":[{"icon":"PERSON","message":" @adrianodennanni в #20517: @jeffcbecker У меня тоже возникла эта проблема. Кажется, что URL-адрес https://mirror.bazel.build/github.com/google/protobuf/archive/a6e1cc7e328c45a0cb9856c530c8f6cd23314163.tar.gz недоступен. У кого-нибудь есть обходной путь для этого?"}],"action":{"name":"Просмотр проблемы","url":" https://github.com/tensorflow /tensorflow/issues/20517#issuecomment -431701713"}}}
[
{
"@контекст": " http://schema.org ",
"@type": "Сообщение электронной почты",
"потенциальное действие": {
"@type": "ПросмотрДействий",
"цель": " https://github.com/tensorflow/tensorflow/issues/20517#issuecomment -431701713",
"url": " https://github.com/tensorflow/tensorflow/issues/20517#issuecomment -431701713",
"name": "Просмотреть проблему"
},
"description": "Просмотреть этот выпуск на GitHub",
"издатель": {
"@type": "Организация",
"имя": "GitHub",
"URL": " https://github.com "
}
},
{
"@type": "Карта сообщений",
"@context": " http://schema.org/extensions ",
"hideOriginalBody": "ложь",
"создатель": "AF6C5A86-E920-430C-9C59-A73278B5EFEB",
"title": "Re: [tensorflow/tensorflow] Совместимость с Python 3.7 (#20517)",
"разделы": [
{
"текст": "",
"activityTitle": " Адриано Деннанни ",
«ActivityImage»: « https://assets-cdn.github.com/images/email/message_cards/avatar.png »,
"activitySubtitle": "@adrianodennanni",
"факты": [

]
}
],
"потенциальное действие": [
{
"name": "Добавить комментарий",
"@type": "Карта действия",
"входы": [
{
"isMultiLine": правда,
"@type": "Текстовый ввод",
"id": "Комментарий к проблеме",
«Требуется»: ложь
}
],
"действия": [
{
"имя": "Комментарий",
"@тип": "HttpPOST",
«цель»: « https://api.github.com »,
"body": "{n"commandName": "IssueComment",n"repositoryFullName": "tensorflow/tensorflow",n"issueId": 20517,n"IssueComment": "{{IssueComment.value}}"n}"
}
]
},
{
"name": "Закрыть задачу",
"@тип": "HttpPOST",
«цель»: « https://api.github.com »,
"body": "{n"commandName": "IssueClose",n"repositoryFullName": "tensorflow/tensorflow",n"issueId": 20517n}"
},
{
"цели": [
{
"ос": "по умолчанию",
"ури": " https://github.com/tensorflow/tensorflow/issues/20517#issuecomment -431701713"
}
],
"@type": "ОпенУри",
"name": "Посмотреть на GitHub"
},
{
"имя": "Отписаться",
"@тип": "HttpPOST",
«цель»: « https://api.github.com »,
"body": "{n"commandName": "MuteNotification",n"threadId": 352548653n}"
}
],
"темаЦвет": "26292E"
}
]

колесо protobuf обновлено для поддержки версии 3.7.

Теперь пришло время выпустить tensorflow для поддержки 3.7.

Отличные новости!
Вы хотите отправить PR, чтобы изменить зависимости protobuf TF в рабочей области и setup.py?

Tensorflow, по-видимому, является последней недостающей частью Python-3.7.1. Это может повлиять на некоторые счета за Cloud Electric, поскольку Python-3.7 более эффективен, чем Python-3.6.

https://github.com/fo40225/tensorflow-windows-wheel/tree/master/1.12.0/py37

Для всех, кто хочет протестировать tensorflow 1.12.0 с python 3.7 в Windows.

зависит от protobuf v3.6.0 + cherry-pick https://github.com/protocolbuffers/protobuf/commit/0a59054c30e4f0ba10f10acfc1d7f3814c63e1a7

Удалось скомпилировать и для Linux!

https://github.com/adrianodennanni/tensorflow-1.12.0-cp37-cp37m-linux_x86_64/

Прошли месяцы с момента выпуска 3.7, обновления для TF все еще выпускаются, так что же такое слово / ETA о совместимости?

Итак, 2018 год подходит к концу, а официальный релиз с поддержкой python 3.7 все еще находится в пузыре? :)

Версия, опубликованная @adrianodennanni , работает для меня. Я использую функции python3.7 в своем коде, и постоянно переключать среды - настоящая суета.

Что бы это ни стоило, я смог скомпилировать tf и создать колесо Python3.7 на OSX, используя текущий мастер.

Я отправил https://github.com/tensorflow/tensorflow/commit/b0d7d8a477d3041e2d0ebd0cb1d35e4a7fa09663 , что должно позволить вам собрать версию 3.7. tf-nightly теперь имеет версию для процессора (только для Ubuntu), которая работает только на Ubuntu 16.04+. Версия GPU для Ubuntu появится в ближайшее время.

@av8ramit

благодаря вам я только что успешно собрал tf с python 3.7.1, cuda 10 и cudnn 7.4.

теперь осталась только поддержка bazel 0.20

Сборки tf-nightly-gpu с CUDA 10 теперь также доступны на pypi. Я буду держать эту ошибку открытой, пока у нас не будет официальной версии Python3.7.

@alanpurple можешь уточнить? Я не могу собрать tf 1.12, чтобы спасти свою жизнь на Ubuntu 18 и python 3.7

https://drive.google.com/open?id=16vXTOJHXCLDKMTqtxMLDugUsRhiZPriQ
1.12 Python 3.7 без расширений AVX.

https://drive.google.com/open?id=1ni7ExGVb6-c6gvb4J0hohpT4Jj4Z4xxO
1.12 Колесо Python 3.7 с SSE, XLA.

На окнах:
успешно собран 1.12-процессор и импортирован в py3.7.
но ГПУ:
пс: используя базель 0.21

INFO: From Linking tensorflow/contrib/tpu/python/ops/_tpu_ops.so:
   Creating library bazel-out/x64_windows-opt/bin/tensorflow/contrib/tpu/python/ops/python/ops/lib_tpu_ops.so.ifso and object bazel-out/x64_windows-opt/bin/tensorflow/contrib/tpu/python/ops/python/ops/lib_tpu_ops.so.exp
INFO: From Linking tensorflow/contrib/tensor_forest/python/ops/_stats_ops.so:
   Creating library bazel-out/x64_windows-opt/bin/tensorflow/contrib/tensor_forest/python/ops/python/ops/lib_stats_ops.so.ifso and object bazel-out/x64_windows-opt/bin/tensorflow/contrib/tensor_forest/python/ops/python/ops/lib_stats_ops.so.exp
ERROR: C:/tensorflow/tensorflow/python/keras/api/BUILD:28:1: Executing genrule //tensorflow/python/keras/api:keras_python_api_gen_compat_v1 failed (Exit 1): bash.exe failed: error executing command
  cd C:/users/USER/_bazel_USER/xv6zejqw/execroot/org_tensorflow
  SET CUDA_TOOLKIT_PATH=C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v10.0
    SET CUDNN_INSTALL_PATH=C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v10.0
    SET PATH=C:\msys64\usr\bin;C:\msys64\bin
    SET PYTHON_BIN_PATH=C:/Program Files/Python37/python.exe
    SET PYTHON_LIB_PATH=C:/Program Files/Python37/lib/site-packages
    SET TF_CUDA_CLANG=0
    SET TF_CUDA_COMPUTE_CAPABILITIES=3.5,7.0
    SET TF_CUDA_VERSION=10.0
    SET TF_CUDNN_VERSION=7
    SET TF_NEED_CUDA=1
    SET TF_NEED_OPENCL_SYCL=0
    SET TF_NEED_ROCM=0
  C:/msys64/usr/bin/bash.exe -c source external/bazel_tools/tools/genrule/genrule-setup.sh; bazel-out/x64_windows-opt/bin/tensorflow/python/keras/api/create_tensorflow.python_api_1_keras_python_api_gen_compat_v1.exe  --apidir=bazel-out/x64_windows-opt/genfiles/tensorflow/python/keras/api_v1/ --apiname=keras --apiversion=1  --package=tensorflow.python,tensorflow.python.keras --output_package=tensorflow.python.keras.api._v1 bazel-out/x64_windows-opt/genfiles/tensorflow/python/keras/api/_v1/__init__.py bazel-out/x64_windows-opt/genfiles/tensorflow/python/keras/api/_v1/keras/__init__.py bazel-out/x64_windows-opt/genfiles/tensorflow/python/keras/api/_v1/keras/activations/__init__.py bazel-out/x64_windows-opt/genfiles/tensorflow/python/keras/api/_v1/keras/applications/__init__.py bazel-out/x64_windows-opt/genfiles/tensorflow/python/keras/api/_v1/keras/applications/densenet/__init__.py bazel-out/x64_windows-opt/genfiles/tensorflow/python/keras/api/_v1/keras/applications/inception_resnet_v2/__init__.py bazel-out/x64_windows-opt/genfiles/tensorflow/python/keras/api/_v1/keras/applications/inception_v3/__init__.py bazel-out/x64_windows-opt/genfiles/tensorflow/python/keras/api/_v1/keras/applications/mobilenet/__init__.py bazel-out/x64_windows-opt/genfiles/tensorflow/python/keras/api/_v1/keras/applications/mobilenet_v2/__init__.py bazel-out/x64_windows-opt/genfiles/tensorflow/python/keras/api/_v1/keras/applications/nasnet/__init__.py bazel-out/x64_windows-opt/genfiles/tensorflow/python/keras/api/_v1/keras/applications/resnet50/__init__.py bazel-out/x64_windows-opt/genfiles/tensorflow/python/keras/api/_v1/keras/applications/vgg16/__init__.py bazel-out/x64_windows-opt/genfiles/tensorflow/python/keras/api/_v1/keras/applications/vgg19/__init__.py bazel-out/x64_windows-opt/genfiles/tensorflow/python/keras/api/_v1/keras/applications/xception/__init__.py bazel-out/x64_windows-opt/genfiles/tensorflow/python/keras/api/_v1/keras/backend/__init__.py bazel-out/x64_windows-opt/genfiles/tensorflow/python/keras/api/_v1/keras/callbacks/__init__.py bazel-out/x64_windows-opt/genfiles/tensorflow/python/keras/api/_v1/keras/constraints/__init__.py bazel-out/x64_windows-opt/genfiles/tensorflow/python/keras/api/_v1/keras/datasets/__init__.py bazel-out/x64_windows-opt/genfiles/tensorflow/python/keras/api/_v1/keras/datasets/boston_housing/__init__.py bazel-out/x64_windows-opt/genfiles/tensorflow/python/keras/api/_v1/keras/datasets/cifar10/__init__.py bazel-out/x64_windows-opt/genfiles/tensorflow/python/keras/api/_v1/keras/datasets/cifar100/__init__.py bazel-out/x64_windows-opt/genfiles/tensorflow/python/keras/api/_v1/keras/datasets/fashion_mnist/__init__.py bazel-out/x64_windows-opt/genfiles/tensorflow/python/keras/api/_v1/keras/datasets/imdb/__init__.py bazel-out/x64_windows-opt/genfiles/tensorflow/python/keras/api/_v1/keras/datasets/mnist/__init__.py bazel-out/x64_windows-opt/genfiles/tensorflow/python/keras/api/_v1/keras/datasets/reuters/__init__.py bazel-out/x64_windows-opt/genfiles/tensorflow/python/keras/api/_v1/keras/estimator/__init__.py bazel-out/x64_windows-opt/genfiles/tensorflow/python/keras/api/_v1/keras/experimental/__init__.py bazel-out/x64_windows-opt/genfiles/tensorflow/python/keras/api/_v1/keras/initializers/__init__.py bazel-out/x64_windows-opt/genfiles/tensorflow/python/keras/api/_v1/keras/layers/__init__.py bazel-out/x64_windows-opt/genfiles/tensorflow/python/keras/api/_v1/keras/losses/__init__.py bazel-out/x64_windows-opt/genfiles/tensorflow/python/keras/api/_v1/keras/metrics/__init__.py bazel-out/x64_windows-opt/genfiles/tensorflow/python/keras/api/_v1/keras/models/__init__.py bazel-out/x64_windows-opt/genfiles/tensorflow/python/keras/api/_v1/keras/optimizers/__init__.py bazel-out/x64_windows-opt/genfiles/tensorflow/python/keras/api/_v1/keras/preprocessing/__init__.py bazel-out/x64_windows-opt/genfiles/tensorflow/python/keras/api/_v1/keras/preprocessing/image/__init__.py bazel-out/x64_windows-opt/genfiles/tensorflow/python/keras/api/_v1/keras/preprocessing/sequence/__init__.py bazel-out/x64_windows-opt/genfiles/tensorflow/python/keras/api/_v1/keras/preprocessing/text/__init__.py bazel-out/x64_windows-opt/genfiles/tensorflow/python/keras/api/_v1/keras/regularizers/__init__.py bazel-out/x64_windows-opt/genfiles/tensorflow/python/keras/api/_v1/keras/utils/__init__.py bazel-out/x64_windows-opt/genfiles/tensorflow/python/keras/api/_v1/keras/wrappers/__init__.py bazel-out/x64_windows-opt/genfiles/tensorflow/python/keras/api/_v1/keras/wrappers/scikit_learn/__init__.py
Execution platform: @bazel_tools//platforms:host_platform
Traceback (most recent call last):
  File "\\?\C:\Users\USER\AppData\Local\Temp\Bazel.runfiles_ms8gr8rl\runfiles\org_tensorflow\tensorflow\python\pywrap_tensorflow.py", line 58, in <module>
    from tensorflow.python.pywrap_tensorflow_internal import *
  File "\\?\C:\Users\USER\AppData\Local\Temp\Bazel.runfiles_ms8gr8rl\runfiles\org_tensorflow\tensorflow\python\pywrap_tensorflow_internal.py", line 28, in <module>
    _pywrap_tensorflow_internal = swig_import_helper()
  File "\\?\C:\Users\USER\AppData\Local\Temp\Bazel.runfiles_ms8gr8rl\runfiles\org_tensorflow\tensorflow\python\pywrap_tensorflow_internal.py", line 24, in swig_import_helper
    _mod = imp.load_module('_pywrap_tensorflow_internal', fp, pathname, description)
  File "C:\Program Files\Python37\lib\imp.py", line 243, in load_module
    return load_dynamic(name, filename, file)
  File "C:\Program Files\Python37\lib\imp.py", line 343, in load_dynamic
    return _load(spec)
ImportError: DLL load failed: The specified module could not be found.

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "\\?\C:\Users\USER\AppData\Local\Temp\Bazel.runfiles_ms8gr8rl\runfiles\org_tensorflow\tensorflow\python\tools\api\generator\create_python_api.py", line 27, in <module>
    from tensorflow.python.tools.api.generator import doc_srcs
  File "\\?\C:\Users\USER\AppData\Local\Temp\Bazel.runfiles_ms8gr8rl\runfiles\org_tensorflow\tensorflow\python\__init__.py", line 49, in <module>
    from tensorflow.python import pywrap_tensorflow
  File "\\?\C:\Users\USER\AppData\Local\Temp\Bazel.runfiles_ms8gr8rl\runfiles\org_tensorflow\tensorflow\python\pywrap_tensorflow.py", line 74, in <module>
    raise ImportError(msg)
ImportError: Traceback (most recent call last):
  File "\\?\C:\Users\USER\AppData\Local\Temp\Bazel.runfiles_ms8gr8rl\runfiles\org_tensorflow\tensorflow\python\pywrap_tensorflow.py", line 58, in <module>
    from tensorflow.python.pywrap_tensorflow_internal import *
  File "\\?\C:\Users\USER\AppData\Local\Temp\Bazel.runfiles_ms8gr8rl\runfiles\org_tensorflow\tensorflow\python\pywrap_tensorflow_internal.py", line 28, in <module>
    _pywrap_tensorflow_internal = swig_import_helper()
  File "\\?\C:\Users\USER\AppData\Local\Temp\Bazel.runfiles_ms8gr8rl\runfiles\org_tensorflow\tensorflow\python\pywrap_tensorflow_internal.py", line 24, in swig_import_helper
    _mod = imp.load_module('_pywrap_tensorflow_internal', fp, pathname, description)
  File "C:\Program Files\Python37\lib\imp.py", line 243, in load_module
    return load_dynamic(name, filename, file)
  File "C:\Program Files\Python37\lib\imp.py", line 343, in load_dynamic
    return _load(spec)
ImportError: DLL load failed: The specified module could not be found.


Failed to load the native TensorFlow runtime.

See https://www.tensorflow.org/install/errors

for some common reasons and solutions.  Include the entire stack trace
above this error message when asking for help.
Target //tensorflow/tools/pip_package:build_pip_package failed to build
INFO: Elapsed time: 2602.108s, Critical Path: 565.09s
INFO: 4691 processes: 4691 local.
FAILED: Build did NOT complete successfully

Расскажу, с какими проблемами я столкнулся и как я их решил. Я использую Mac OS

Tensorflow не совместим с python 3.7, он доступен только для, я думаю, до python 3.6 на данный момент.

Я использовал python 3.7, поэтому я загружаю python 3.6 с его официального сайта... установочный пакет и устанавливаю его. И прикрепите приложение python 3.6 к док-станции, потому что, как только python 3.7 появится в панели запуска. Python 3.6 не будет отображаться ... даже если он будет отображаться на вкладке приложения как дополнительная папка

Теперь откройте терминал и введите: nano .bash_profile
Затем откроется редактор nano, раскомментируйте путь для python 3.6 и прокомментируйте путь для 3.7. затем нажмите control+X, затем y для подтверждения, а затем Enter

Afterdat перезапустите терминал и введите: echo $PATH
Убедитесь, что первая ссылка относится к Python 3.6.

Теперь введите: python3 и нажмите Enter и проверьте, какая версия открывается, чтобы дважды убедиться, что это python 3.6.

Теперь введите: python3 -m pip install tensorflow
Таким же образом вы можете скачать и другие модули.

Теперь, когда вы хотите работать с открытым python 3.6. Питон из дока. И работать.. и если вы хотите работать на 3.7, вы можете открыть python 3.7, и он также будет работать бегло

Чтобы установить модули в python 3.7,. Просто введите: python3.7 -m pip install package namr

Получил python3.7.2, очень недавно скомпилированный для Windows с CUDA 10, ссылки в этом репо:
https://github.com/PlatinumLyfe/tf-windows-gpu/

Привет, есть прогресс в этой проблеме совместимости?

bbhattmaclap:~ bbhatt$ pip3 установить --обновить тензорный поток
Сбор тензорного потока
Не удалось найти версию, удовлетворяющую требованию тензорного потока (из версий: )
Не найдено подходящего распределения для тензорного потока
bbhattmaclap:~ bbhatt$

@BhuvaneshBhatt последний официальный пакет tensorflow не поддерживает Python3.7. Вам нужно будет использовать пакет tf-nightly-gpu. Мы пытаемся иметь его для 1.13.

@PlatinumLyfe не удалось установить.
по вашей ссылке есть только xxx-cp36-cp36m-... .
нет версий cp37 и -gpu- .

Пожалуйста, перестаньте просить других людей предоставлять скомпилированные двоичные файлы. В дополнение к рассылке спама всем, кто интересуется, когда появится официальная поддержка Python 3.7, просьба на общедоступной странице, чтобы кто-то отправил вам двоичный файл для запуска, не является особенно безопасным.

Вышел Tensorflow 1.13-rc0 (https://github.com/tensorflow/tensorflow/releases/tag/v1.13.0-rc0), однако сборки Python 3.7 на PyPI нет (https://pypi.org/project). /тензорный поток/1.13.0rc0/#файлы). Будет ли официально выпущен Tensorflow 1.13 для Python 3.7?

Мы стремимся получить двоичные файлы Python для Windows и Ubuntu от rc2 или официальных.

Есть новости о поддержке Mac? Я пока застрял на Mac.
24 января 2019 г., 06:55-06:00, Амит Патанкар, [email protected] , написал:

Мы стремимся получить двоичные файлы Python для Windows и Ubuntu от rc2 или официальных.

Вы получаете это, потому что вас упомянули.
Ответьте на это письмо напрямую, просмотрите его на GitHub или отключите ветку.

Теперь у нас есть пакет ЦП tf-nightly для Mac. Попробую и для rc2 тоже.

Для всех, кто приходит в эту тему, упомянутые выше пакеты tf-nightly хороши. Установите их с pip3 install tf-nightly для версии CPU. Протестировано, работает на Python 3.7.2 на MacOS Mojave 10.14.2

Релиз 1.13.0rc1 включает бинарные файлы Python3.7 для всех ОС для процессора и графического процессора.

Кажется, я не могу его установить. Любые простые шаги по устранению неполадок?
РЕДАКТИРОВАТЬ: проблема заключалась в том, что 32-разрядная версия CPython использовалась в 64-разрядной системе.

@MagixInTheAir Я закрываю этот вопрос, так как речь идет об общей поддержке Python 3.7. Пожалуйста, повторно откройте новую проблему с журналами и дополнительной информацией о вашей настройке, если у вас все еще есть проблемы.

Tensorflow 1.13.1 теперь поддерживает Python 3.7.

https://pypi.org/project/tensorflow/#files Существуют выпуски cp37 для tensorflow==1.13.1. В вашем окружении может быть что-то не так.

Я использую 3.7.2, и у меня та же проблема, версии/теги, указанные для 1.31.1, следующие:

{('cp37', 'cp37m', 'manylinux1_x86_64')}

в то время как мой 3.7.2 поддерживает следующее:

[('cp37', 'cp37m', 'linux_x86_64'), ('cp37', 'abi3', 'linux_x86_64'), ('cp37', 'none', 'linux_x86_64'), ('cp36', 'abi3', 'linux_x86_64'), ('cp35', 'abi3', 'linux_x86_64'), ('cp34', 'abi3', 'linux_x86_64'), ('cp33', 'abi3', 'linux_x86_64'), ('cp32', 'abi3', 'linux_x86_64'), ('py3', 'none', 'linux_x86_64'), ('cp37', 'none', 'any'), ('cp3', 'none', 'any'), ('py37', 'none', 'any'), ('py3', 'none', 'any'), ('py36', 'none', 'any'), ('py35', 'none', 'any'), ('py34', 'none', 'any'), ('py33', 'none', 'any'), ('py32', 'none', 'any'), ('py31', 'none', 'any'), ('py30', 'none', 'any')]

(из pep425tags.get_supported())

поэтому я считаю, что проблема в том, что в названии колеса должно быть linux , а не manylinux1 .

У меня есть чистая сборка Python из исходников с параметрами почти по умолчанию.

@dellelce , возможно, вы используете очень старую версию pip?

import pip._internal; print(pip._internal.pep425tags.get_supported())

дает мне много тегов Linux.

Я только что проверил, и проблема связана со сборкой alpine, моя сборка (dellelce/py-base) и официальный образ docker alpine (python:alpine) имеют проблему, в то время как образ, построенный на debian (python:latest), работает нормально.
Это должно быть связано с используемой библиотекой libc (musl vs glibc)? Таким образом, другие дистрибутивы, которые не используют glibc, могут иметь проблему...

У всех есть последний пункт и 3.7.3 или 3.7.2...

Я почти уверен, что Alpine не входит в состав многих Linux, поддерживаемых многими Linux.

@ppwwyyxx должен ли у нас быть еще один билет для поддержки дистрибутивов Linux, отличных от glibc?

PEP 571/PEP 513 ("manylinux") поддерживают только glibc.

@dellelce Поддержка alpine linux может быть интересной идеей, но не тривиальной. На данный момент большинство бинарных файлов tensorflow скомпилированы с Ubuntu 14.04. Даже некоторые другие широко используемые платформы (например, CentOS) иногда сталкивались с некоторыми проблемами. Я думаю, что альпийская поддержка вряд ли будет приоритетом в краткосрочной перспективе.

Открытие вопроса — это всегда хорошо, так как это может помочь оценить потребность и интерес сообщества, и его всегда можно пометить как «приветствуются вклады».

Была ли эта страница полезной?
0 / 5 - 0 рейтинги