我有一个 Python 脚本(一些基于多层感知器的简单二进制分类),它使用在 Tensorflow 后端运行的 Keras 并在我的 Windows 笔记本电脑上正确运行,但在我从 Google 获得的 Ubuntu 虚拟机上运行它时产生以下错误云。有想法该怎么解决这个吗?如果有任何建议,我将不胜感激。 Ubuntu 信息:Ubuntu 16.04.5 LTS (GNU/Linux 4.15.0-1027-gcp x86_64)
Tensorflow 是 1.13.1
Keras 是 2.2.4
2019-02-26 23:14:29.217591: I
tensorflow/core/platform/cpu_feature_guard.cc:141] Your CPU supports
instructions that this TensorFlow binary was not compiled to use: AVX2 FMA
2019-02-26 23:14:29.224424: I
tensorflow/core/platform/profile_utils/cpu_utils.cc:94] CPU Frequency:
2300000000 Hz
2019-02-26 23:14:29.225784: I
tensorflow/compiler/xla/service/service.cc:150] XLA service 0x384e6a0
executing computations on platform Host. Devices:
2019-02-26 23:14:29.225824: I
tensorflow/compiler/xla/service/service.cc:158] StreamExecutor device (0):
<undefined>, <undefined>
更新:实际错误如下
Exception ignored in: <bound method BaseSession.__del__ of
<tensorflow.python.client.session.Session object at 0x7fe9
23271400>>
Traceback (most recent call last):
File "/home/berezutskii/.local/lib/python3.5/site-
packages/tensorflow/python/client/session.py", line 738, in __del__
TypeError: 'NoneType' object is not callable
更新:通过使用管理员权限重新安装 tensorflow
解决。
最佳答案
这些不是错误,这只是 tensorflow 告诉您此 cpu 支持更高级别实现的方式,您可以安装 tensorflow 以使用这些功能。默认情况下,tensorflow 在所有机器上安装基本功能,无论它们的能力如何。
您可以从源代码构建 tensorflow 以使用这些功能,而不是通常的 pip 安装,如前所述,pip 安装仅安装基本版本,以便它可以在大多数机器上运行。可以找到相同的详细信息here
您更新的错误是一个已知问题,主要与 keras 不一致,似乎有两件事可以解决此问题:
一个是简单地导入:
import tensorflow.contrib.keras as keras
但是,更好的解决方法是实际更改 setup.py 文件,转到 setup.py 文件。使用 nano 或 vim 打开它(文件路径错误)在那里你必须导航到第 738 行或那里大约取决于安装的版本。
您将看到声明的 def __del__(self):
函数,其中包含以下代码:
try:
status = tf_session.TF_NewStatus()
tf_session.TF_DeleteDeprecatedSession(self._session, status)
当然连同其他事情一起,将其更改为:
try:
if tf_session is not None:
status = tf_session.TF_NewStatus()
tf_session.TF_DeleteDeprecatedSession(self._session, status
这将解决此问题,请注意法院的其他部分应保持原样,并在编辑前保存一份文件副本,以防您需要返回原始版本。
关于python - Google Cloud 上的 Tensorflow 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54895756/