ImportError:无法导入名称“ abs”
anaconda
tensorflow
11
0

使用tensorflow-gpu进行对象检测时遇到问题

我关注youtube教程: https : //www.youtube.com/watch?v= Rgpfk6eYxJA

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

我在系统环境变量中添加了python,cuda,tensorflow,并使用标签制作了训练模型。

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

问题是,当我尝试使用generate_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>

我不明白什么是“ abs”。请帮忙

参考资料:
Stack Overflow
收藏
评论
共 3 个回答
高赞 时间 活跃

如果以前有可用的tensorflow安装,这似乎是个问题。这些步骤似乎可以解决问题。

1)卸载tensorflow 2)卸载protobuf 3)重新安装tensorflow(应该与正确的protobuf版本一起提供)。

还需要去

C:\Program Files (x86)\Microsoft Visual Studio\Shared\Anaconda3_64\Lib\site-packages

并删除所有与tensorflow相关的文件夹

来源: https : //github.com/tensorflow/tensorflow/issues/20778

收藏
评论

这在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

GitHub找到的解决方案:ImportError:无法导入名称'abs'#20778

收藏
评论
  • 编辑:

创建一个虚拟环境并安装TF-GPU,它更快,更安全。

  • 原始答案:

操作系统:Ubuntu 18.04.1

Python版本3.6

解决方案:

卸载的tensorflow 1.10

python3 -m pip uninstall tensorflow

再次重新安装

python3 -m pip install 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

然后执行sudo python3 -m pip uninstall tensorflow如果在root用户中安装了tensorflow,则使用python3 -m pip install tensorflow --user --no-cache安装它

如果仍然遇到此问题,请重复上述所有步骤并find ~/ -name tensorflow并删除弹出的每个文件夹find ~/ -name tensorflow试安装。

收藏
评论
新手导航
  • 社区规范
  • 提出问题
  • 进行投票
  • 个人资料
  • 优化问题
  • 回答问题

关于我们

常见问题

内容许可

联系我们

@2020 AskGo
京ICP备20001863号