ImportError:无法从tensorflow.python.keras._impl.keras.backend导入名称'abs'

帕拉什·辛德

当前版本堆栈:

python 3.5

tensorflow                    1.14.0                
tensorflow-estimator          1.14.0                
tensorflow-gpu                1.14.0                
tensorflow-tensorboard        0.1.8 

protobuf                      3.9.1

Keras                         2.2.4                 
Keras-Applications            1.0.7                 
Keras-Preprocessing           1.0.9

驱动程序和机器:

Ubuntu 16.04 , NVIDIA-SMI 396.54 , CUDA - 9.0 , CuDnn 7 , libcudnn - 7.4.1

摘要-

无法在tensorflow-gpu == 1.14.0上从tensorflow.python.keras._impl.keras.backend导入abs

并且无法在tensorflow-gpu == 1.8.0上获取CheckpointableBase属性?

哪个tensorflow-gpu和keras版本同时支持tensorflow.python.keras._impl.keras.backend的CheckpointableBase属性和'abs'?

详细资料-

我当前正在使用Keras == 2.2.4训练物质端口掩码rcnn。根据一些线程,为了获取腹肌,我尝试将tensorflow-gpu更新为1.8.0,更新了protobuf。虽然我当时能够导入abs,但是最终在tensorflow-gpu上收到“ AttributeError:模块'tensorflow.python.training.checkpointable'没有属性'CheckpointableBase'”到1.8.0。然后为了获取CheckpointableBase,再次指向一些线程更新tensorflow-gpu == 1.14.0。

追溯

Traceback (most recent call last):
  File "/home/kalpit/Desktop/palash/m-rcnn-traning/data/libraries/bacteria_rcnn_train.py", line 53, in <module>
    import keras 
  File "/usr/local/lib/python3.5/dist-packages/keras/__init__.py", line 3, in <module>
    from . import utils
  File "/usr/local/lib/python3.5/dist-packages/keras/utils/__init__.py", line 6, in <module>
    from . import conv_utils
  File "/usr/local/lib/python3.5/dist-packages/keras/utils/conv_utils.py", line 9, in <module>
    from .. import backend as K
  File "/usr/local/lib/python3.5/dist-packages/keras/backend/__init__.py", line 84, in <module>
    from .tensorflow_backend import *
  File "/usr/local/lib/python3.5/dist-packages/keras/backend/tensorflow_backend.py", line 5, in <module>
    import tensorflow as tf
  File "/usr/local/lib/python3.5/dist-packages/tensorflow/__init__.py", line 28, in <module>
    from tensorflow.python import pywrap_tensorflow  # pylint: disable=unused-import
  File "/usr/local/lib/python3.5/dist-packages/tensorflow/python/__init__.py", line 83, in <module>
    from tensorflow.python import keras
  File "/usr/local/lib/python3.5/dist-packages/tensorflow/python/keras/__init__.py", line 26, in <module>
    from tensorflow.python.keras import activations
  File "/usr/local/lib/python3.5/dist-packages/tensorflow/python/keras/activations/__init__.py", line 22, in <module>
    from tensorflow.python.keras._impl.keras.activations import elu
  File "/usr/local/lib/python3.5/dist-packages/tensorflow/python/keras/_impl/keras/__init__.py", line 21, in <module>
    from tensorflow.python.keras._impl.keras import activations
  File "/usr/local/lib/python3.5/dist-packages/tensorflow/python/keras/_impl/keras/activations.py", line 23, in <module>
    from tensorflow.python.keras._impl.keras import backend as K
  File "/usr/local/lib/python3.5/dist-packages/tensorflow/python/keras/_impl/keras/backend.py", line 38, in <module>
    from tensorflow.python.layers import base as tf_base_layers
  File "/usr/local/lib/python3.5/dist-packages/tensorflow/python/layers/base.py", line 25, in <module>
    from tensorflow.python.keras import backend
  File "/usr/local/lib/python3.5/dist-packages/tensorflow/python/keras/backend/__init__.py", line 22, in <module>
    from tensorflow.python.keras._impl.keras.backend import abs
ImportError: cannot import name 'abs'
帕拉什·辛德

你好

我能够通过从dist-packages目录本身中删除所有tensorFlow和keras python3软件包,使用pip3进行卸载,然后再次安装tensorflow == 1.8.0
tensorflow-gpu == 1.8.0和Keras == 2.2来解决此问题。 4

(引起此特定错误的潜在原因是python在解包目录中引用了多个tensoflow-gpu,keras版本的软件包文件。尽管通过pip3安装特定的tensoflow-gpu,keras版本应该理想地删除了先前的现有版本。但是在我的情况下没发生。)

解:

  1. 使用$ locate --basename '\tensorflow'命令在dist-packages目录中找到tensorflow和keras软件包(前提是您使用的是Ubuntu)。就我而言

$查找--basename'\ tensorflow'

输出-

/usr/local/lib/python3.5/dist-packages/tensorflow
/usr/local/lib/python3.5/dist-packages/tensorflow/include/tensorflow
/usr/share/nginx/html/projects/python/machine-learning/objectDetection/models-master/research/syntaxnet/tensorflow

$查找--basename'\ keras'

输出-

/usr/local/lib/python3.5/dist-packages/keras
/usr/local/lib/python3.5/dist-packages/tensorflow/keras
/usr/local/lib/python3.5/dist-packages/tensorflow/contrib/keras
/usr/local/lib/python3.5/dist-packages/tensorflow/contrib/keras/api/keras
/usr/local/lib/python3.5/dist-packages/tensorflow/python/keras
/usr/local/lib/python3.5/dist-packages/tensorflow/python/keras/_impl/keras
/usr/local/lib/python3.5/dist-packages/tensorflow/tools/api/generator/api/keras
/usr/share/nginx/html/projects/python/Playground/lambda/testkeras/keras
  1. 现在您已经知道所需的软件包位置。只需删除tensorflow和keras目录并使用以下命令卸载软件包

删除目录

sudo rm -R /usr/local/lib/python3.5/dist-packages/tensorflow/
sudo rm -R /usr/share/nginx/html/projects/python/machine-learning/objectDetection/models-master/research/syntaxnet/tensorflow

sudo rm -R /usr/local/lib/python3.5/dist-packages/keras/
sudo rm -R /usr/share/nginx/html/projects/python/Playground/lambda/testkeras/keras

使用pip3卸载

sudo pip3 uninstall tensorflow
sudo pip3 uninstall tensorflow-gpu
sudo pip3 uninstall keras
  1. 再次安装tensorflow,tensorflow-gpu,keras

    sudo pip3 install tensorflow == 1.8.0
    sudo pip3 install tensorflow-gpu == 1.8.0 sudo pip3 install Keras == 2.2.4

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在Tensorflow中从tf.keras导入keras?

使用导入Keras时无法导入名称'tf_utils'

安装后无法导入keras

从keras.layers导入Dense-无法导入名称'Dense'

Keras后端-ImportError:无法导入名称ctc_ops

Keras导入错误Tensorflow后端

Keras ImportError:无法导入名称初始化

Keras-ImportError:无法导入名称“ CuDNNLSTM”

ImportError:无法导入名称“ abs”

Keras导入错误:“无法导入名称” abs”

keras-无法导入名称Conv2D

ImportError:无法在Keras中导入名称TimeDistributedDense

Keras.utils无法导入

Tensorflow到Keras:在Keras模型上导入图形def错误

tensorflow.keras无法导入激活

无法从“ keras.layers”导入名称“ Merge”

无法从tensorflow.keras.metrics导入指标

Tensorflow 2.0:从tensorflow keras导入

ImportError:无法从“ keras.optimizers”导入名称“ adam”

无法从'tensorflow.python.util.tf_export'导入名称'keras_export'

无法从 Python 中的 Tensorflow 库导入 Keras

无法使用原始代码“tensorflow.python.keras.utils.data_utils”导入

无法从 tensorflow 导入 keras

Python - TensorFlow 和 Keras

导入错误:无法从“tensorflow.python.keras.engine”导入名称“keras_tensor”

无法从“keras.layers”导入名称“Deconvolution2D”

使用 tf 别名导入 tensorflow 时无法导入 keras 模块

无法从“keras.preprocessing.sequence”导入名称“TimeSeriesGenerator”

即使安装了 tensorflow 和 keras,Python 也不会让我导入 tensorflow.keras?