Skip to main content
 首页 » 编程设计

python之Google Cloud 上的 Tensorflow 问题

2024年11月24日38bhlsheji

我有一个 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 

这将解决此问题,请注意法院的其他部分应保持原样,并在编辑前保存一份文件副本,以防您需要返回原始版本。