Tensorflow 导入错误:无法导入名称';abs&x27;

Tensorflow 导入错误:无法导入名称';abs&x27;,tensorflow,anaconda,virtualenv,Tensorflow,Anaconda,Virtualenv,我在使用tensorflow gpu进行目标检测时遇到问题 我在关注youtube教程 : 我正在尝试使用tensorflow gpu和虚拟环境检测对象 我将python、cuda、tensorflow添加到系统环境变量中,并且也添加了 制作带有标签的培训模型 我使用xml_to_csv.py将xml标签转换为csv 问题是,当我尝试使用generate\u tfrecord.py生成tfrecord时,会出现错误。请帮忙 这是密码 (tensorflow) C:\Users\ice305\te

我在使用tensorflow gpu进行目标检测时遇到问题

我在关注youtube教程 :


我正在尝试使用tensorflow gpu和虚拟环境检测对象

我将python、cuda、tensorflow添加到系统环境变量中,并且也添加了 制作带有标签的培训模型

我使用xml_to_csv.py将xml标签转换为csv

问题是,当我尝试使用generate\u tfrecord.py生成tfrecord时,会出现错误。请帮忙

这是密码

(tensorflow) C:\Users\ice305\tensorflow\models\research\object_detection>python generate_tfrecord.py --csv_input=images\train_labels.csv --image_dir=images\train --output_path=train.record
Traceback (most recent call last):
  File "generate_tfrecord.py", line 17, in <module>
    import tensorflow as tf
  File "C:\Anaconda3\envs\tensorflow\lib\site-packages\tensorflow\__init__.py", line 22, in <module>
    from tensorflow.python import pywrap_tensorflow  # pylint: disable=unused-import
  File "C:\Anaconda3\envs\tensorflow\lib\site-packages\tensorflow\python\__init__.py", line 81, in <module>
    from tensorflow.python import keras
  File "C:\Anaconda3\envs\tensorflow\lib\site-packages\tensorflow\python\keras\__init__.py", line 24, in <module>
    from tensorflow.python.keras import activations
  File "C:\Anaconda3\envs\tensorflow\lib\site-packages\tensorflow\python\keras\activations\__init__.py", line 22, in <module>
    from tensorflow.python.keras._impl.keras.activations import elu
  File "C:\Anaconda3\envs\tensorflow\lib\site-packages\tensorflow\python\keras\_impl\keras\__init__.py", line 21, in <module>
    from tensorflow.python.keras._impl.keras import activations
  File "C:\Anaconda3\envs\tensorflow\lib\site-packages\tensorflow\python\keras\_impl\keras\activations.py", line 23, in <module>
from tensorflow.python.keras._impl.keras import backend as K
  File "C:\Anaconda3\envs\tensorflow\lib\site-packages\tensorflow\python\keras\_impl\keras\backend.py", line 38, in <module>
    from tensorflow.python.layers import base as tf_base_layers
  File "C:\Anaconda3\envs\tensorflow\lib\site-packages\tensorflow\python\layers\base.py", line 25, in <module>
    from tensorflow.python.keras.engine import base_layer
  File "C:\Anaconda3\envs\tensorflow\lib\site-packages\tensorflow\python\keras\engine\__init__.py", line 21, in <module>
    from tensorflow.python.keras.engine.base_layer import InputSpec
  File "C:\Anaconda3\envs\tensorflow\lib\site-packages\tensorflow\python\keras\engine\base_layer.py", line 33, in <module>
    from tensorflow.python.keras import backend
  File "C:\Anaconda3\envs\tensorflow\lib\site-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'
(tensorflow) C:\Users\ice305\tensorflow\models\research\object_detection>
(tensorflow)C:\Users\ice305\tensorflow\models\research\object\u detection>python生成\u tfrecord.py--csv\u输入=图像\train\u标签.csv--image\u dir=图像\train--output\u路径=train.record
回溯(最近一次呼叫最后一次):
文件“generate_tfrecord.py”,第17行,在
导入tensorflow作为tf
文件“C:\Anaconda3\envs\tensorflow\lib\site packages\tensorflow\\uuuu init\uuuu.py”,第22行,在
从tensorflow.python导入pywrapu tensorflow 35; pylint:disable=未使用的导入
文件“C:\Anaconda3\envs\tensorflow\lib\site packages\tensorflow\python\\uuuu init\uuu.py”,第81行,在
从tensorflow.python导入keras
文件“C:\Anaconda3\envs\tensorflow\lib\site packages\tensorflow\python\keras\\ uuuu init\uuuu.py”,第24行,在
从tensorflow.python.keras导入激活
文件“C:\Anaconda3\envs\tensorflow\lib\site packages\tensorflow\python\keras\activations\\uuuu init\uuuu.py”,第22行,在
从tensorflow.python.keras.\u impl.keras.activations导入elu
文件“C:\Anaconda3\envs\tensorflow\lib\site packages\tensorflow\python\keras\\u impl\keras\\uuu init\uuuu.py”,第21行,在
从tensorflow.python.keras.\u impl.keras导入激活
文件“C:\Anaconda3\envs\tensorflow\lib\site packages\tensorflow\python\keras\\u impl\keras\activations.py”,第23行,在
从tensorflow.python.keras.\u impl.keras将后端导入为K
文件“C:\Anaconda3\envs\tensorflow\lib\site packages\tensorflow\python\keras\\u impl\keras\backend.py”,第38行,在
从tensorflow.python.layers导入base作为tf_base_层
文件“C:\Anaconda3\envs\tensorflow\lib\site packages\tensorflow\python\layers\base.py”,第25行,在
从tensorflow.python.keras.engine导入基本层
文件“C:\Anaconda3\envs\tensorflow\lib\site packages\tensorflow\python\keras\engine\\ uuuu init\uuu.py”,第21行,在
从tensorflow.python.keras.engine.base\u层导入InputSpec
文件“C:\Anaconda3\envs\tensorflow\lib\site packages\tensorflow\python\keras\engine\base\u layer.py”,第33行,在
从tensorflow.python.keras导入后端
文件“C:\Anaconda3\envs\tensorflow\lib\site packages\tensorflow\python\keras\backend\\ uuuuu init\uuuuu.py”,第22行,在
从tensorflow.python.keras.\u impl.keras.backend导入abs
ImportError:无法导入名称“abs”
(tensorflow)C:\Users\ice305\tensorflow\models\research\object\u detection>

我不明白什么是abs。请帮助

我在尝试seq2seq教程时遇到了相同的错误消息。我使用了tensorflow cpu、python3.6、Anaconda3和Ubuntu16.04

问题是tensorflow的路径在我的电脑上不是可变的。 我不能导入tensorflow,虽然我可以在几个小时前导入。 在python交互式shell上尝试“导入tensorflow”。如果你不能导入,你的问题和我的一样

如何解决这个问题是删除计算机上有关tensorflow的所有内容并重新安装

顺便说一下,“abs”是在以下文件中定义的函数:~/anaconda3/envs/tensorflow/lib/python3.6/site\ -packages/tensorflow/python/keras/_impl/keras/backend.py


在重新安装tensorflow之后,我不知道为什么,“\u impl”目录消失了。

这是因为您安装了一些库,并且tensorflow的一些依赖项已被安装的库更改

执行以下命令将解决问题

sudo pip install --upgrade tensorflow-gpu

如果以前安装过tensorflow,这似乎是个问题。这些步骤似乎解决了问题

1) 卸载tensorflow 2) 卸载protobuf 3) 重新安装tensorflow(应随附正确的protobuf版本)

还需要去

C:\Program Files (x86)\Microsoft Visual Studio\Shared\Anaconda3_64\Lib\site-packages
并删除所有tensorflow相关文件夹


来源:

这在ubuntu 18.0.4中对我很有效

pip uninstall tensorflow protobuf --yes
find $CONDA_PREFIX -name "tensorflow" | xargs -Ipkg rm -rfv pkg
pip install --ignore-installed --upgrade https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow-1.9.0-cp36-cp36m-linux_x86_64.whl --no-cache-dir
从中找到解决方案。

  • 编辑:
创建虚拟环境并安装TF-GPU,更快更安全

  • 原始答复:
操作系统:Ubuntu 18.04.1

Python版本3.6

解决方案:

已卸载tensorflow 1.10

python3-m pip卸载tensorflow

重新安装它

python3-m pip安装tensorflow==1.8.0

这个问题是由于旧版本的tensorflow依赖项(如protobuff和其他在tensorflow安装期间安装的依赖项)造成的,因此如果您想使用tensorflow 1.10,您必须卸载其余的依赖项或升级它们

如果您想安装1.10.1,则必须删除这些软件包

absl-py
astor
gast 
grpcio 
markdown 
numpy 
protobuf 
setuptools 
six 
tensorboard 
tensorflow 
termcolor 
werkzeug 
wheel
protobuf
然后执行
sudopython3-mpip卸载tensorflow
如果在root用户中安装了tensorflow,则使用
python3-m pip安装tensorflow--用户--无缓存

如果您仍然面临此问题,请重复上述所有步骤并执行以下操作
查找~/-name tensorflow
并删除弹出的每个文件夹,然后重试安装。

以下链接上的建议解决方案对我有效


如果您使用Win10+cuda_10.0+cuDNNv7.4.2.24,请遵循此操作将对您有所帮助

  • 卸载所有tensorflow和keras相关软件
  • 卸载所有与protobuf相关的文件
  • 删除“Anaconda3\u安装路径”\Lib\site软件包中与tensorflow、keras、protobuf相关的折叠,例如:\ProgramData\Anaconda3\Lib\site软件包
  • 安装tensorflow和keras,如下图所示。

  • 在windows 10中使用anaconda Navigator和selectin进行安装时出现相同的问题
    The full solution to this issue is to clean up all TF installation files from your system. Here is how to do that. Run the following first:
    
    $ pyhthon
    > import tensorflow as tf
    > tf.__file__
    'path/to/your/python/installation/site-packages/tensorflow/__init__.pyc'
    
    From the above command, you need to go and remove the folder
    
    path/to/your/python/installation/site-packages/tensorflow
    
    Finally, you need to run
    
    $ pip uninstall tensorflow # Also add -gpu if you installed the GPU version
    $ pip install tensorflow # Also add -gpu if you installed the GPU version
    
    Then it should work.
    
    conda remove keras*
    conda remove tensorflow*
    conda remove protobuf 
    pip uninstall tensorflow*
    pip uninstall protobuf
    conda install tensorflow-gpu
    conda install keras-gpu